SOAP Javascript / jQuery
Hallo,
Ik heb een ASP.NET Webservice gemaakt daar wil ik nu met jQuery een functie aanroepen. Wat ik doe...
Wat ik nu doe ik voer functie Test uit van mijn webservice ik krijg wel een response maar wat het probleem is als ik die response krijg. zet die het in een .js bestandje waardoor die hij de verkregen XML als een error ziet:
Test:1Uncaught SyntaxError: Unexpected token <
Weet iemand hoe ik dit moet doen ik heb al heel lang zitten Googlen maar krijg maar niet het antwoord.
Groeten,
Dennis
Ik heb een ASP.NET Webservice gemaakt daar wil ik nu met jQuery een functie aanroepen. Wat ik doe...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript">
var address = "http://localhost:56777/BMI.asmx/Test";
function test() {
$.ajax({
type: "POST",
url: address,
data: { 'x': 'adasd' },
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
succes: function(data) {
alert(data.x);
}, error: function() {
alert("ERROR");
}
});
}
</script>
var address = "http://localhost:56777/BMI.asmx/Test";
function test() {
$.ajax({
type: "POST",
url: address,
data: { 'x': 'adasd' },
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
succes: function(data) {
alert(data.x);
}, error: function() {
alert("ERROR");
}
});
}
</script>
Wat ik nu doe ik voer functie Test uit van mijn webservice ik krijg wel een response maar wat het probleem is als ik die response krijg. zet die het in een .js bestandje waardoor die hij de verkregen XML als een error ziet:
Test:1Uncaught SyntaxError: Unexpected token <
Weet iemand hoe ik dit moet doen ik heb al heel lang zitten Googlen maar krijg maar niet het antwoord.
Groeten,
Dennis
Gewijzigd op 02/02/2012 16:30:39 door Dennis Sluijk
Gesponsorde koppelingen:
Leuk een asp.net vraag op een php forum.
Ik denk dat ut het meer te maken heeft met de response die je krijgt uit je script
Ik denk dat ut het meer te maken heeft met de response die je krijgt uit je script
Gewijzigd op 02/02/2012 16:48:27 door Ger van Steenderen
Code (php)
1
2
2
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">adasd</string>
<string xmlns="http://tempuri.org/">adasd</string>
Dit krijg ik terug
Gewijzigd op 02/02/2012 16:50:05 door Dennis Sluijk
Maar je zegt tegen jquery dat die json terug moet krijgen, of zie ik dat verkeerd?
Jah klopt, vind ik ook al zo raar. Ik snap er op het moment even niets meer van.
Hoezo vind je het raar? je zegt tegen jQuery dat hij JSON terug krijgt, maar hij krijgt HTML terug. Dan zegt jQuery dat dat niet kan.
@Dennis
Hoe ziet jouw ASP code er uit?
ten tweede, ik zou geen xml gebruiken. JSON is veel beter.
Hoe ziet jouw ASP code er uit?
ten tweede, ik zou geen xml gebruiken. JSON is veel beter.
Het probleem is dat ik jsonp moet gebruiken omdat het cross domain is.
Kun je even overnieuw beginnen met je verhaal? Nu snappen wij er ook niets van.
Even kort: JSON = JSONP
Als je dat als datatype terug wilt, moet je dat ook gaan geven. In asp.NET kun je ook heel prima wrappers gebruiken voor JSON. Als het goed is heb je ook een writer om dat te genereren.
Even kort: JSON = JSONP
Als je dat als datatype terug wilt, moet je dat ook gaan geven. In asp.NET kun je ook heel prima wrappers gebruiken voor JSON. Als het goed is heb je ook een writer om dat te genereren.
IK heb een ASP.NET WEbservice
Source Code:
WebService1.asmx.cs
Web.config
Ik heb een pagina waarmee ik met jquery functie HelloWorld wil uitvoeren.
Omdat die pagina op een andere domein staat moet ik jsonp gebruiken (Volgens Google).
Ik zeg in mijn HelloWorld method dat ik de response format graag in json wil laten terug komen.
Ik krijg nu nog steeds XML terug:
Daardoor krijg ik waarschijnlijk deze error:
HelloWorld:1Uncaught SyntaxError: Unexpected token <
Weet iemand een manier waardoor ik json als response terug krijg??
Source Code:
WebService1.asmx.cs
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
namespace Webservice
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld()
{
return "Hello World";
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
namespace Webservice
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld()
{
return "Hello World";
}
}
}
Web.config
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0"?>
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
Ik heb een pagina waarmee ik met jquery functie HelloWorld wil uitvoeren.
Omdat die pagina op een andere domein staat moet ik jsonp gebruiken (Volgens Google).
Ik zeg in mijn HelloWorld method dat ik de response format graag in json wil laten terug komen.
Ik krijg nu nog steeds XML terug:
Code (php)
1
2
2
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello World</string>
<string xmlns="http://tempuri.org/">Hello World</string>
Daardoor krijg ik waarschijnlijk deze error:
HelloWorld:1Uncaught SyntaxError: Unexpected token <
Weet iemand een manier waardoor ik json als response terug krijg??
Hoe leg jij een link tussen WebService1.asmx en BMI.asmx? Sterker, MBI.asmx/Test
Want op dit moment zie ik nog nergens een referentie van en naar. Die code uit WebService zal wel als JSON komen maar ergens anders gaat er iets mis.
Want op dit moment zie ik nog nergens een referentie van en naar. Die code uit WebService zal wel als JSON komen maar ergens anders gaat er iets mis.
Het bovenste heb ik op mijn stage gemaakt daardoor kan ik helaas niet bij de bestanden de reactie later heb ik thuis gemaakt maar ik heb precies het zelfde gedaan als op mijn stage maar in plaats van BMI nu Webservice1
Oke, probeer het eens met een lege data string dus:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var address = "http://localhost:56777/BMI.asmx/HelloWorld";
function test() {
$.ajax({
type: "POST",
url: address,
data: "{}",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
succes: function(data) {
alert(data.x);
}, error: function() {
alert("ERROR");
}
});
}
function test() {
$.ajax({
type: "POST",
url: address,
data: "{}",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
succes: function(data) {
alert(data.x);
}, error: function() {
alert("ERROR");
}
});
}
Hey Dennis,
Hier ben ik ook bezig met een afstudeerproject en toevallig heb ik ook te maken met JSON en APS.net.
Ik heb dit anders opgelost.
Ik heb in mijn mvc3 een controller gemaakt die als SOAP service werkt. De reden dat ik een controller gebruik en geen WCF is puur flexibliteit. In een controller kan je alle kanten op.
Controller:
JavaScript:
en dat is alles :)
Hier ben ik ook bezig met een afstudeerproject en toevallig heb ik ook te maken met JSON en APS.net.
Ik heb dit anders opgelost.
Ik heb in mijn mvc3 een controller gemaakt die als SOAP service werkt. De reden dat ik een controller gebruik en geen WCF is puur flexibliteit. In een controller kan je alle kanten op.
Controller:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
[HttpPost]
public ActionResult GetString (int id)
{
// connection met db
return Json( new { naam = "MijnNaam" });
}
public ActionResult GetString (int id)
{
// connection met db
return Json( new { naam = "MijnNaam" });
}
JavaScript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var d = "id=1";
$.ajax({
type: "POST",
url: actionURL, // <-- zoiets --> http://localhost/Home/GetString/
data: d, // hier kan ook parameters mee sturen met je POST
success: function (r) {
strNaam = r.naam;
},
complete: function () {
// strNaam ergens tonen
},
error: function (req, status, error) {
// hier een foutmelding laten zien
}
});
$.ajax({
type: "POST",
url: actionURL, // <-- zoiets --> http://localhost/Home/GetString/
data: d, // hier kan ook parameters mee sturen met je POST
success: function (r) {
strNaam = r.naam;
},
complete: function () {
// strNaam ergens tonen
},
error: function (req, status, error) {
// hier een foutmelding laten zien
}
});
en dat is alles :)
Gewijzigd op 03/02/2012 10:49:51 door Dashti webdeveloper
Is jouw webservice extern? (op een ander domein)
Ja dat is de bedoeling. Hij moet bereikbaar zijn vanaf een android telefoon.
Jah precies. Daar ben ik nu ook mee bezig. Ik moet een Android apps maken met PhoneGap dan kan je met HTML5 en javascript apps maken.
Toevoeging op 07/02/2012 14:10:19:
In welke dll zit Json class?
Toevoeging op 07/02/2012 14:10:19:
In welke dll zit Json class?



