jQuery传送JSON

2024-09-28 18:57:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

你好, 同样的老,同样的老。。。:)

我有一个名为<form id="testForm" action="javascript:test()">的表单和一个名为<code id="testArea"></code>的代码区域

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

var formData = form2object('testForm');
document.getElementById('testArea').innerHTML = JSON.stringify(formData, null, '\t');
var value = JSON.stringify(formData, null, '\t');

我想要的是将这些数据发送到JSON文件。 我一直在做这个项目:http://ridegrab.com/profile_old/,如果你按Submit Query按钮,你会看到页面的头部被填充。

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

    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数据发送到服务器。我的服务器被设置为在正确的地方update or POST数据。


Tags: theto数据代码服务器idjsonurl
3条回答

如果您将此post请求发送到跨域,则应签出此链接。

https://stackoverflow.com/a/1320708/969984

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

像这样发布JSON

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

如果将对象作为设置传递,则jQuery会将其转换为查询参数,并在默认情况下与数据类型application/x-www-form-urlencoded;charset=UTF-8一起发送,这可能不是您想要的

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

data: JSON.stringify({ "userName": userName, "password" : password })

要发送formData,请将其传递给stringify

data: JSON.stringify(formData)

有些服务器还需要application/json内容类型:

contentType: 'application/json'

这里还有一个类似问题的更详细的答案:Jquery Ajax Posting json to webservice

相关问题 更多 >