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

Posted

技术标签:

【中文标题】在 Jquery ajax 调用上传递多个参数时出错?【英文标题】:Error while passing multiple parameters on Jquery ajax call? 【发布时间】:2012-10-12 18:32:40 【问题描述】:

我正在使用 this tutorial 使用 JSONP 实现 .net webservice (asmx)。

当我调用我的网络服务时,它只需要一个参数即可。但是,当我尝试使用多个参数调用时,我不断收到 Network 500 错误。我尝试使用"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!");
        
    );

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

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

【问题讨论】:

添加内容类型使其工作。 ***.com/questions/8884928/… 【参考方案1】:

如果您将数据作为 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!");
        
    );

【讨论】:

您确定您请求的服务器可以接受这样的请求吗?

以上是关于在 Jquery ajax 调用上传递多个参数时出错?的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax调用asp.net上的多个参数

如何在jquery数据表的ajax调用中发布参数

jquery Ajax 调用 - 数据参数未传递给 MVC 控制器操作

jquery中通过ajax调用webservice传递数组参数的问题

jquery dataTable Ajax调用中未传递参数

在参数数据中使用特殊字符调用 Ajax 时出现问题