我的asp.net web服务调用出了什么问题
本文关键字:什么 问题 调用 服务 asp net web 我的 | 更新日期: 2023-09-27 18:27:22
我正试图使用jquery中的web服务方法,但在下面收到了此错误
未捕获的语法错误:意外的标记<
它指向我的服务方法url。下面是我的代码,
$("#btnDialog").click(function () {
var test = $("#hfID").val();
testService(test);
$("#dialog").dialog("open");
});
function testService(test) {
$.ajax({
crossDomain: true,
type: "POST",
url: "http://localhost:64461/Service1.asmx?op=HelloWorld",
data: test,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function(json) {
$("#lblID").text(json.responseText);
},
failure: function(response) {
alert("Did not work");
}
});
}
并且web服务方法是
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld(string id)
{
string toReturn = null;
if (string.IsNullOrEmpty(id))
{
toReturn = "recieved but nothing";
}
else
{
Class1 class1 = new Class1();
class1.GetName();
toReturn = class1.GetName();
}
return toReturn;
}
}
试试这个:
function testService(test) {
$.ajax({
crossDomain: true,
type: "POST",
url: "http://localhost:64461/Service1.asmx/HelloWorld",
data: "{'id':'" + test + "'}",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function(json) {
$("#lblID").text(json.responseText);
},
failure: function(response) {
alert("Did not work");
}
});
}
[WebMethod]
属性告诉端点返回XML。
您的JS代码正在请求JSON,并期望得到JSONP响应。因此,响应中有一个无效的令牌,即XML的第一个<
。
一种选择是处理XML,而不是期望使用JSON。
另一个选项是将ScriptMethod
属性与WebMethod
属性一起包含在上,以便控制响应。
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]