data: を json データに設定する標準の javascript ajax 呼び出しがあります。
$.ajax({
type: "POST",
url: BaseUrl + "User/Login",
//url: BaseUrl + "User/Limit/1/2",
data: '{"apiKey":"c7089786-7e3a-462c-a620-d85031f0c826","appIDGiven":"200","userName":"matt2","password":"pass"}',
success: function(data){
console.log(data);
},
error: function(request){
console.log(request);
},
});
PHPでデータを取得しようとしましたが、うまくいき$_POST["data"]
ません。
ただし、data: 'test={"apiKey":"c7089786-7e3a-462c-a620-d85031f0c826","appIDGiven":"200","userName":"matt2","password":"pass"}'
動作します。
おそらく私のフレームワークか、そのようなものが$_POST["data"]
動作を妨げているのでしょうか、それともまったく不可能なのでしょうか? または、そのデータを取得するために使用できるものは他にありますか?
編集:
したがって、フレームワーク YII と拡張機能 Restfullyii には、1 行を使用してデータを取得するメソッドがあります return json_decode(file_get_contents("php://input"), true);
data= または {data: を必要とせずにすべてのデータを取得していますが、配列を返しているように見えるので、$data["userName"] のようなプロパティにアクセスしています。ここで、真の json オブジェクトは $data->[" である必要があります。ユーザー名"]。私が本当にjson文字列を送信しているので、この場合配列を取得していますか?対jsonオブジェクト?
編集 x2:
したがって、phpはjson_decodeにtrueを送信しているため、連想配列にしています。