我正在使用this tutorial使用JSONP实现.net webservice(asmx)。
当我拨打我的网络服务时,只需一个参数即可。但是,当我尝试使用多个参数调用时,我不断收到Network 500错误。我尝试使用此{stack}流问题中描述的"data: JSON.stringify({ jewellerId: filter, locale: 'en-US' }),"
:Pass Multiple Parameters to jQuery ajax call。但它不起作用。
她是我的剧本:
function getData()
{
var key = "123";
var code = "12458";
jQuery.ajax({ url: http://service.com/test.asmx,
data: JSON.stringify({ Key: key, Code: code }),
dataType: "jsonp",
success: function(json)
{
alert(json.d);
},
error: function() {
alert("Hit error fn!");
}
});
}
所以,当我改变webservice只采用一个参数时,我改变了数据:
data: {Key: JSON.stringify("123") }
它有效。
我有什么建议可以解决这个问题吗?
答案 0 :(得分:2)
如果您将数据作为GET发送(jsonp请求就是这种情况),请不要对数据进行字符串化
function getData() {
var key = "123";
var code = "12458";
jQuery.ajax({ url: http://service.com/test.asmx,
data: { Key: key, Code: code },
dataType: "jsonp",
success: function(json) {
alert(json.d);
},
error: function() {
alert("Hit error fn!");
}
});
}