Tôi đang cố gắng gọi chức năng dịch vụ web thông qua phương thức GET bằng jQuery, nhưng gặp sự cố. Đây là một mã dịch vụ web:Gọi chức năng dịch vụ web ASP.NET thông qua phương thức GET với 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;
}
}
Đó là cách tôi gọi hàm:
$.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!');
}
});
Phương pháp được gọi là thành công, nhưng chuỗi kết quả được bao phủ bởi thẻ XML, như thế này:
<string>
{'result':'success', 'datetime':'4/26/2010 12:11:18 PM'
</string>
Và tôi gặp lỗi vì điều này (trình xử lý lỗi được gọi). Có ai biết những gì có thể được thực hiện về điều này?
Đâu là '}' của bạn ở cuối chuỗi JSON được trả về? –
Bạn có nghĩa là chuỗi json được bao phủ bởi các thẻ XML không? Tôi nghĩ rằng tôi đã làm điều gì đó sai trái khi tôi sao chép nó từ cửa sổ trình duyệt, tất nhiên là nó nên ở đó. –
Có lẽ, nhưng tôi cũng không thấy mã này trong mã dịch vụ web. –