jQuery发布JSON
更新:我想将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
button,你会看到页面的头部填充。
我也想用这段脚本发送数据:
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
数据。
'data'应该是一个string化的JavaScript对象:
data: JSON.stringify({ "userName": userName, "password" : password })
要发送你的formData
,把它传递给stringify
:
data: JSON.stringify(formData)
某些服务器还需要application/json
内容types:
contentType: 'application/json'
这里还有一个类似问题的更详细的答案: jQuery的Ajax发布json到webservice
你这样发布JSON
$.ajax(url, { data : JSON.stringify(myJSObject), contentType : 'application/json', type : 'POST', ...
如果你传递一个对象作为settings.data,jQuery将把它转换为查询参数,默认情况下用数据typesapplication / x-www-form-urlencoded发送; charset = UTF-8,可能不是你想要的
如果您将这个post请求发送到跨域,您应该检查这个链接。
https://stackoverflow.com/a/1320708/969984
您的服务器不接受跨网站发布请求。 所以服务器configuration需要改变,以允许跨站点请求。