1

jquery/ajax/json の rpc 呼び出しからサーバー側のデータを取得する方法に頭を悩ませています。

クライアント側は次のとおりです。

        $.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        url: 'http://wine-trip.net/php/ajax/setVinImage.php',
        data: JSON.stringify({jsonrpc:'2.0',method:'add',params:[{'vigneronID':'14818','action':'deleteImage','vinID':'13','vinImageType':'Bouteille'}],id:"jsonrpc"}),
        dataType:"json", 
        success:function(data){
            if (typeof (data.error.message) === 'undefined') { 
                // Everything was OK 
            }
            else{
                alert(data.error.message);
            }               
        },
        error: function(req) {
            alert("Networking problem");
        }
    });

そして、これがサーバー側の始まりです:

// HTTP headers for no cache etc
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

error_log("POST ".$_POST['vigneronID'], 0);
error_log("REQUEST ".$_REQUEST['vigneronID'], 0);

アラートに表示されているサーバーから応答を受け取りますが、パラメーターを通過しているデータにアクセスできません (構文が正しくありませんか?)。

通常の ajax 呼び出しを実行できますが、plupload ライブラリ (json rpc で動作) を使用しているため、このメソッドを使用できない理由を突き止めたいと思います。

contentType の有無にかかわらず試してみましたが、何も変わらないようです...

4

1 に答える 1

0

error_log がいくつかの文字列を送信していると思いますか? json_encode http://php.net/manual/en/function.json-encode.phpを使用すると役立ちます。また、firefox の firebug などの開発者ツールを使用することをお勧めします。サーバーが何を送信するかを確認できます。

于 2013-10-22T18:30:32.173 に答える