3

JSON データを受け取り、それをファイルに書き込み、jQuery/AJAX 呼び出しを使用して単純なテキスト応答を返す php スクリプトを呼び出そうとしています。

jQueryコード:

   $("input.callphp").click(function() {
    var url_file = myurl;
    $.ajax({type : "POST",
            url : url_file,
            data : {puzzle: 'Reset!'},
            success : function(data){
                alert("Success");
                alert(data);
            }, 
            error : function (jqXHR, textStatus, errorThrown) {
                alert("Error: " + textStatus + "<" + errorThrown + ">");
            },
            dataType : 'text'
    });
});

PHPコード:

<?php
  $thefile = "new.json"; /* Our filename as defined earlier */
  $towrite = $_POST["puzzle"]; /* What we'll write to the file */
  $openedfile = fopen($thefile, "w");
  fwrite($openedfile, $towrite);
  fclose($openedfile);
  echo "<br> <br>".$towrite;
?>

ただし、呼び出しが成功することはなく、常に "Error : [Object object]" というアラートでエラーが発生します。

ノート

このコードは正常に動作します。クロス ドメイン クエリを実行しようとしていました。ファイルを同じサーバーにアップロードしたところ、機能しました。

4

2 に答える 2

2
var url_file = myurl"; // remove `"` from end

error関数の引数は次のとおりです。

.error( jqXHR, textStatus, errorThrown )

ないdata

関数の引数dataとして(つまり、サーバーからの応答データ)を取得できます。success()

お気に入り:

success: function(data) {

}

詳細については、.ajax()を参照してください。

ノート

クロスドメイン (つまり、別のドメイン) からデータを取得しようとしている場合は、jsonpリクエストが必要です。

于 2012-06-10T10:33:14.827 に答える
0

オブジェクトdataが無効です。キーを引用しないでください。

data : { puzzle: 'Reset!' }

"さらに、SO の構文の強調表示は、コードでa を見逃していることを指摘しています。

var url_file = myurl";

する必要があります

var url_file = "myurl;
于 2012-06-10T10:31:50.887 に答える