3

我正在使用本教程使用 JSONP 实现 .net webservice (asmx) 。

当我调用我的 web 服务时,它使用单个参数。但是,当我尝试使用多个参数调用时,我不断收到 Network 500 错误。我尝试"data: JSON.stringify({ jewellerId: filter, locale: 'en-US' }),"按照这个 stackoverflow 问题中的描述使用:将多个参数传递给 jQuery ajax 调用。但是它不起作用。

她的是我的剧本:

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!");
        }
    });
}

因此,当我将 web 服务更改为仅采用一个参数时,我将数据更改为: data: {Key: JSON.stringify("123") } 它有效。

有什么建议我可以解决这个问题吗?

4

1 回答 1

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!");
        }
    });
}
于 2012-10-22T21:26:15.273 回答