在Jquery ajax调用上传递多个参数时出错?

时间:2012-10-22 21:19:54

标签: jquery .net json web-services jsonp

我正在使用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") }它有效。

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

1 个答案:

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