送信前に回答されたように、jQuery.ajax( url [, settings] )
デフォルトでのみ送信されます。これは、エンコードされたデータを変更できることを意味します..これは、99%の確率でさらなる問題を防ぐのに役立ちます...彼らが使用するデフォルトのエンコーディングは
application/x-www-form-urlencoded; charset=UTF-8
これを任意のタイプのコンテンツに変更できるようになりました。たとえばtext/javascript
、それが送信するデータ タイプであったとします。しかし、通常、php に送信しようとしているのは文字列または配列です。この配列は、両方の言語が理解できる方法でエンコードする必要があります...バージョン 5.2.0 から、php は java からデータを送信する最良の方法である json エンコードをサポートします。したがって、jsonでエンコードされた数値をphpに送信できます。これは次のようになります
{"foo-bar": 12345}
そして、それをにjson_decode()
変えることを使用して
$json = '{"foo-bar": 12345}' ;
$obj = json_decode($json);
print $obj->{'foo-bar'}; // will return 12345
したがって、公式にはすべての団体がこの形式を使用して、javascript から php にデータを送信しています。あなた自身のために、ここにphpコードがどのように見えるかの例を示します。たとえば、ユーザー名とパスワードのようなものを送信すると、配列は次のようになります{"id": "234" , "text" : "helloo,/////text////"}
$posted_data = $_POST['id'];
$parsed_data = josn_decode('$posted_data');
echo $parsed_data -> {'text'}; // should print helloo,/////text////