Próbuję wywołać funkcję usługi sieci Web za pomocą metody GET za pomocą jQuery, ale mający problem. Jest to kod serwis internetowy:Wywołanie funkcji usługi sieci web ASP.NET za pomocą metody GET z jQuery
[WebService(Namespace = "http://something.com/samples")]
[ScriptService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestWebService : System.Web.Services.WebService {
[WebMethod]
public string Test2()
{
string result = null;
try
{
result = "{'result':'success', 'datetime':'" + DateTime.Now.ToString() + "'";
}
catch (Exception ex)
{
result = "Something wrong happened";
}
return result;
}
}
To tak, jak wywołać funkcję:
$.ajax({ type: "GET",
url: "http://localhost/testwebsite/TestWebService.asmx/Test2",
data: "{}",
contentType: "application/json",
dataType: "json",
error: function (xhr, status, error) {
alert(xhr.responseText);
},
success: function (msg) {
alert('Call was successful!');
}
});
Metoda nazywa się pomyślnie, ale wynik ciąg zostaje objęty znacznikami XML, takich jak to:
<string>
{'result':'success', 'datetime':'4/26/2010 12:11:18 PM'
</string>
I otrzymuję błąd z tego powodu (procedura obsługi błędu jest wywoływana). Czy ktoś wie, co można z tym zrobić?
Gdzie jest twój "}" na końcu zwróconego ciągu JSON? –
Masz na myśli ciąg jsonów zakodowanych znacznikami XML? Myślę, że zrobiłem coś nie tak, kiedy skopiowałem go z okna przeglądarki, oczywiście powinno tam być. –
Być może, ale nie widzę tego również w kodzie usługi sieciowej. –