我肯定犯了一个非常蹩脚的错误,但无法弄清楚在哪里......
这是我的网络方法
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public int Add(int x, int y) {
return x + y;
}
我通过像这样的ajax调用它
$.ajax({
type: "GET",
dataType: 'json',
contentType: "application/json; charset=utf-8",
data: { x: 4, y: 5 },
url: 'http://localhost:14436/Service1.asmx/Add',
success: function (data) {
alert('success');
var d = $(data);
console.log(d);
}
});
问题是我无法在success
,
在小提琴手中显示{"d":9}
,但我继续data
空......我在这里做错了什么...... TIA
修改
我的网络服务位于http://localhost:14436/Service1.asmx,我访问网络服务的网络应用程序位于http://localhost:3587/
所以我想这会使它成为跨域请求?
答案 0 :(得分:1)
尝试以下功能:
function AjaxSucceeded(result)
{
alert(result.d);
}
仍然没有得到任何结果?
更新:
您可以在以下位置阅读有关.d包装器的更多信息:
http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/
以下是您要实现的确切示例:
http://www.joe-stevens.com/2010/01/04/using-jquery-to-make-ajax-calls-to-an-asmx-web-service-using-asp-net/