首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery -如何通过Ajax放入JSON?

jQuery -如何通过Ajax放入JSON?
EN

Stack Overflow用户
提问于 2009-11-17 22:29:56
回答 3查看 95.1K关注 0票数 61

我正在尝试通过Ajax和jQuery将一些JSON格式的数据放到服务器上。我的代码如下所示:

$.ajax({
    type: "PUT",
    url: myURL,
    contentType: "application/json",
    data: {"data": "mydata"}
});

但是在服务器端,我收到的是data=mydata字符串,而不是预期的JSON。Firebug也是这样告诉我的。

错误在哪里?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-17 22:34:43

我认为数据需要是一个字符串。对象被转换为查询字符串,这就是您在这里看到的。

可以使用JSON.stringify(obj)方法将对象转换为字符串。JSON对象的代码可以从https://github.com/douglascrockford/JSON-js/blob/master/json2.js获得。

或者,只需将用于创建对象的代码作为文字字符串传递,但我认为这只是一个示例,您将希望对已经创建的对象进行编码。

票数 54
EN

Stack Overflow用户

发布于 2011-07-26 17:45:45

如果必须在应用程序中始终发送JSON,那么只需在初始化中的某个位置执行此操作,然后使用示例中的默认$.ajax调用,它将始终序列化为JSON字符串,而不是Ajax默认查询字符串。

这里我使用了上面提到的JSON对象:

$.ajaxSetup({
    contentType : 'application/json',
    processData : false
});
$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
    if (options.data){
        options.data=JSON.stringify(options.data);
    }
});
票数 31
EN

Stack Overflow用户

发布于 2012-07-05 21:12:00

//url: this is a reference to the XML, where you need to define the mapping.
//<entry key="/getEmpDetails/transEfileGenerate.app">
//<bean class="com.adp.ems.framework.spring.MappingItem" p:delegate-ref="efilePageDelegate"
//p:action="passJSONObjectAndGetWebServiceOutput" />

//str1 is the input JSON that you need to pass... Ajax will automatically take care to get the response.
//</entry>

var kw = {
    url : "getEmpDetails/transEfileGenerate.app",
    timeout : 30000,
    handleAs : "json",
    sync: false,
    putData : str1,
    headers: { "Content-Type": "application/json"},
    load : function(result) {
},
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1749272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档