更新:我想将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
数据。
答案 0 :(得分:252)
你发布像这样的JSON
$.ajax(url, {
data : JSON.stringify(myJSObject),
contentType : 'application/json',
type : 'POST',
...
如果您将对象作为settings.data传递,则jQuery会将其转换为查询参数,默认情况下使用数据类型application / x-www-form-urlencoded发送; charset = UTF-8,可能不是你想要的
答案 1 :(得分:192)
'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
答案 2 :(得分:2)
如果您要将此帖子请求发送到跨域,则应查看此链接。
https://stackoverflow.com/a/1320708/969984
您的服务器不接受跨站点发布请求。因此,需要更改服务器配置以允许跨站点请求。