我正在尝试调用一个接受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;