jQuery/JSON/PHP failing


jQuery/JSON/PHP failing

我正在尝试调用一个接受JSON数据的php脚本,将其写入文件并使用jQuery/AJAX调用返回简单的文本响应。

j查询代码 :

   $("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;
?>

但是,调用永远不会成功,并且总是给出警报"错误:[对象对象]"的错误。

注意

此代码工作正常。我正在尝试执行跨域查询 - 我将文件上传到同一台服务器并且它起作用了。

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

error函数的参数为:

.error( jqXHR, textStatus, errorThrown )

不是data

您可以获取data(即来自服务器的响应数据)作为success()函数参数。

喜欢:

success: function(data) {
}

有关更多信息,请查看 .ajax()

注意

如果您尝试从跨域(即来自不同域)获取数据,则需要jsonp请求。

您的data对象无效;键不应用引号引起来:

data : { puzzle: 'Reset!' }

此外,SO 的语法突出显示指出您错过了代码中的"

var url_file = myurl";

应该是

var url_file = "myurl;