0

簡単な質問です:

JavaScript は、次の要求をサーバーに送信する必要があります。

myserver/scipt.php?LANG=EN&AGENT={"ログイン":{"名前":"ユーザー","パス":"ユーザー"}}

AjaxでURLとデータを形成するにはどうすればよいですか?

これは正しいですか?

var formData = {
            "login":$("#field1").val(),
            "pass":$("#field2").val()
               };

$.ajax({
    url:'http://myserver/scipt.php?LANG=EN&',
    type:'GET',
    data:'AGENT=' + $.toJSON(formData),
    success: function(res) {
                        alert(res);
                           }
      });

ありがとうございました!

4

3 に答える 3

0

Ajaxを通過させたい文字列をURLエンコードする必要があります。

datajQueryが通常の形式のように機能する場合は、既存のクエリ文字列が破棄されないように、すべてのクエリ文字列データを挿入する必要もあります。

url:'http://myserver/scipt.php',
type:'GET',
data: { 
    "AGENT": $.toJSON(formData),
    "LANG": "EN"
},

ユーザー資格情報を送信する場合は、POST要求を使用する必要があることに注意してください。それらをサーバーのaccess.logファイルにキャッシュまたは保存したくない。

于 2012-10-26T09:07:32.473 に答える
0

You need to send the data to the server in the form of a map ..

Your data is already in json format.. You need not do $.toJSON again

Instead of

data:'AGENT=' + $.toJSON(formData),

send it this way

 data:{ 'AGENT' : {'Login' : formData } },
于 2012-10-26T09:08:14.987 に答える
0

GET の代わりに POST 経由で JSON を送信することをお勧めします。GET には回避したい制限がいくつかあります。

その一部、はい、あなたのコードは問題ないようです。

編集:

申し訳ありませんが、あなたのコードは大丈夫ではありません。

データ行を次のように変更します。

data: $.toJSON(formData),
于 2012-10-26T09:06:09.760 に答える