jQuery发布JSON

jQuery发布JSON,jquery,json,post,Jquery,Json,Post,更新:我想将var值传递给服务器 你好,, 老样子,老样子……:) 我有一个名为的表单和一个名为 我使用此代码在代码区域中字符串化和显示数据: var formData = form2object('testForm'); document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t'); var value = JSON.stringify(formData, null, '\t'); 我

更新:我想将
var值
传递给服务器

你好,, 老样子,老样子……:)

我有一个名为
的表单和一个名为

我使用此代码在代码区域中字符串化和显示数据:

var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');
我想要的是将此数据发送到JSON文件。 我一直在做这个项目:如果你按下
submitquery
按钮,你会看到页面的标题

我还想使用这段脚本发送数据:

    function authenticate(userName, password) {
    $.ajax
    ({
        type: "POST",
        //the url where you want to sent the userName and password to
        url: 'username:password@link to the server/update',
        dataType: 'json',
        async: false,
        //json object to sent to the authentication url
        data: '{"userName": "' + userName + '", "password" : "' + password + '"}',
        success: function () {

        alert("Thanks!"); 
        }
    })
}

同样,我想要的是能够将JSON数据发送到服务器。我的服务器设置为
更新或张贴
正确位置的数据。

数据应该是字符串化的JavaScript对象:

data: JSON.stringify({ "userName": userName, "password" : password })
要发送您的
表单数据
,请将其传递给
stringify

data: JSON.stringify(formData)
某些服务器还需要
应用程序/json
内容类型:

contentType: 'application/json'

这里还有一个类似问题的更详细答案:

'data'应该是一个字符串化的JavaScript对象:

data: JSON.stringify({ "userName": userName, "password" : password })
要发送您的
表单数据
,请将其传递给
stringify

data: JSON.stringify(formData)
某些服务器还需要
应用程序/json
内容类型:

contentType: 'application/json'

这里还有一个类似问题的更详细答案:

您这样发布JSON吗

$.ajax(url, {
    data : JSON.stringify(myJSObject),
    contentType : 'application/json',
    type : 'POST',
    ...

如果将对象作为settings.data传递,jQuery会将其转换为查询参数,并默认使用数据类型application/x-www-form-urlencoded发送;charset=UTF-8,可能不是您想要的

$.ajax(url, {
    data : JSON.stringify(myJSObject),
    contentType : 'application/json',
    type : 'POST',
    ...

如果将对象作为settings.data传递,jQuery会将其转换为查询参数,并默认使用数据类型application/x-www-form-urlencoded发送;charset=UTF-8,可能不是您想要的

如果您向跨域发送此post请求,您应该查看此链接


您的服务器不接受跨站点post请求。因此,需要更改服务器配置以允许跨站点请求。

如果您将此post请求发送到跨域,您应该查看此链接


您的服务器不接受跨站点post请求。因此,需要更改服务器配置以允许跨站点请求。

我无法使其正常工作:)我不知道如何将它们组合在一起以将数据发送到服务器。。。即使我将
数据
替换为
数据:值,
。。。!!??首先,你确定这不是连接问题吗?如果分配了
error
函数,是否会调用该函数?如果是的话,有什么错误?虽然已经一年多了,但我会回答@Patrioticcow关于如何做到这一点的最新问题。看到发送到ajax方法中的“success”选项了吗?对“error”做同样的处理。就像在“error:MyErrorHandlingFunction”或“error:function(error){[error handlingcode here]}”中一样,我不能让它工作:)我不知道如何将它们放在一起将数据发送到服务器。。。即使我将
数据
替换为
数据:值,
。。。!!??首先,你确定这不是连接问题吗?如果分配了
error
函数,是否会调用该函数?如果是的话,有什么错误?虽然已经一年多了,但我会回答@Patrioticcow关于如何做到这一点的最新问题。看到发送到ajax方法中的“success”选项了吗?对“error”做同样的处理,比如“error:MyErrorHandlingFunction”或“error:function(error){[error handlingcode here]}”@tasos我想这就是你想要的:在这里重复不正确的地方;这对于简单的场景来说是可行的,但是url编码的消息可能会有很大的问题,特别是对于内容数组。@FMM和Jonas N-你们能帮我弄清楚如何更新我的答案以确保正确性吗?jQuery文档(此处:)中的示例让人觉得您可以发布JS对象或字符串,这让我相信jQuery可以处理所有必要的字符串序列化。Patrioticcow说:“如果我想从var值发送json怎么办?”除非这个值是一个数组或一个对象,否则这是无效的JSON。考虑当你的数据包含的事情发生时,例如一个列表:<代码> {Fo::[1,2,3],BAR:'BAZ'}< /COD>。该表单将被编码为
foo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=3&bar=baz
(未被替换,它是
foo[]=1&foo[]=2&foo[]=3&bar=baz
)。可能不是你想要的服务器端。@塔索斯我想这就是你想要的:在这里重复错误;这对于简单的场景来说是可行的,但是url编码的消息可能会有很大的问题,特别是对于内容数组。@FMM和Jonas N-你们能帮我弄清楚如何更新我的答案以确保正确性吗?jQuery文档(此处:)中的示例让人觉得您可以发布JS对象或字符串,这让我相信jQuery可以处理所有必要的字符串序列化。Patrioticcow说:“如果我想从var值发送json怎么办?”除非这个值是一个数组或一个对象,否则这是无效的JSON。考虑当你的数据包含的事情发生时,例如一个列表:<代码> {Fo::[1,2,3],BAR:'BAZ'}< /COD>。该表单将被编码为
foo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=3&bar=baz
(未被替换,它是
foo[]=1&foo[]=2&foo[]=3&bar=baz
)。很可能不是您想要的服务器端。@TimLovell Smith不会有什么区别,因为jQuery不会以任何方式处理
数据
字符串case@TimLovell-Smith不会有什么不同,因为jQuery在任何情况下都不会处理
数据
字符串