我目前正在开发一个项目,我使用Ajax调用将数据从JavaScript发送到PHP脚本。我试图在Stackoverflow上寻找答案,但没有成功,我提出了一个问题。
此代码在我的Chrome浏览器上正常运行,但在我在Firefox或Safari中试用时失败了。
$.ajax({
method: "POST",
url: "index.php?option=com_lowbudgetrestvisual&task=sdc.connect&format=json",
cache: false,
data: {
data: data
},
success: function(data, http, state) {},
error: function(http, state, error) {
console.log("Response -> failed");
console.log("http : " + http);
console.log("state: " + state);
console.log("error: " + error);
}
});
编辑:每当我尝试登录google chrome
时,只需说Response -> success
。
当我尝试登录firefox时,我收到以下文字。
Response -> failed
http = [object Object]
state = error
error =
编辑2:我正在制作form
,然后将其提交给PHP script
,使用PHP将其保存在database
中。另一个ajax
调用的形式是确保将电子邮件发送给表单中的用户和管理员。我如何确保两者的工作原理是通过以下javascript代码:
$('#sdc').on("click", function(e) {
e.preventDefault();
{{ then some codes and the ajax call }}
});
$('#sdc').on("click", function() {
$("#userForm").submit();
});
编辑3:我尝试了console.log("http : " , http);
,这就是我在控制台中获得的内容:
http = Object {
readyState: 0,
getResponseHeader: .ajax / v.getResponseHeader(),
getAllResponseHeaders: .ajax / v.getAllResponseHeaders(),
setRequestHeader: .ajax / v.setRequestHeader(),
overrideMimeType: .ajax / v.overrideMimeType(),
statusCode: .ajax / v.statusCode(),
abort: .ajax / v.abort(),
state: .Deferred / d.state(),
always: .Deferred / d.always(),
then: .Deferred / d.then(),
11 more…
}
答案 0 :(得分:0)
这个代码在firefox中对我很好。请检查firefox浏览器版本和jquery。请检查服务器php文件路径。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$.ajax({
method: "POST",
url: "test1.php",
cache: false,
data: {
data: 'test'
},
success: function(data, http, state) {},
error: function(http, state, error) {
console.log("Response -> failed");
}
});
</script>