1

jquery文字列をcakephpコントローラーに渡そうとしていますが、json_decodeが文字列を予期しているのに配列が渡されるというエラーが発生し続けます。

これが私のajaxのコードです:

var str = 'Data that i need';

    var jsonString = JSON.stringify(str);

    $.ajax({
        type: "POST",
        url: "http:/Configs/",
        cache: false,
        datatype: 'json',
        data: {data : jsonString},
        timeout: 100000,

        success: function(data) 
        {
            alert('Ok');
        }
    });

そして私のコントローラーでは、次のようにデータを受信しようとしています。

$value = json_decode($_POST['data']);

しかし、上記のエラーが発生した場合、これを解決する方法を教えていただければ幸いです。

4

2 に答える 2

1

これを試して:

var str = 'Data that i need';

var jsonString = JSON.stringify(str);

var DataToSend = {};
DataToSend.data = JSON.stringify(jsonString);

$.ajax({
    type: "POST",
    url: "http:/Configs/",
    cache: false,
    datatype: 'json',
    data: JSON.stringify(DataToSend),
    timeout: 100000,

    success: function(data) 
    {
        alert('Ok');
    }
});
于 2012-08-21T13:05:55.920 に答える
1

使用するURLが正しいことを確認しますか?CakePHPを使用している場合は、一緒に作業してみません$this->request->dataか?

でコードをデバッグしてみてください

pr($_POST); exit;

また

pr($this->request); exit;

彼らは何と言いますか?

于 2012-08-21T14:26:49.340 に答える