更新日: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
するように設定されています。
'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
あなたはこのようなJSONを投稿します
$.ajax(url, {
data : JSON.stringify(myJSObject),
contentType : 'application/json',
type : 'POST',
...
オブジェクトをsettings.dataとして渡すと、jQueryはそれをクエリパラメータに変換し、デフォルトでapplication/x-www-form-urlencodedというデータ型で送信します。 charset = UTF-8、おそらくあなたが望むものではない
この投稿リクエストをクロスドメインに送信する場合は、このリンクをチェックしてください。
https://stackoverflow.com/a/1320708/969984
サーバーはクロスサイト投稿要求を受け付けていません。そのため、クロスサイトリクエストを許可するようにサーバー設定を変更する必要があります。