//MAKE AJAX CALL TO REPOPULATE TABLE
var newData = 'page_number=1&type=2';
$.ajax({
type: 'POST', // HTTP method POST or GET
url: 'http://www.myurl.net/form_validate.php', //Where to make Ajax calls
dataType:'text', // Data type, HTML, json etc.
data:newData, //post variables
success:function(response){
//REFORMAT UPON SUCCESSFUL AJAX CALL
alert(response);
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr + " " + ajaxOptions + " " + thrownError); //throw any errors
}
});
我放入PHP文件的所有内容是:
<?php echo "test"; ?>
当我直接访问该文件时,它回应了'测试'。当我尝试在单击按钮时运行AJAX函数时,它会给出错误:
[object Object] error
在警报窗口中。我把绝对URL放到了文件中,因为我认为我使用的相对链接是错误的,但现在看来它似乎是另一个问题。我忽略了一个简单的语法错误吗?对不起,如果这是超级基本但我似乎无法弄清楚它在很长一段时间后工作。谢谢你的帮助。
答案 0 :(得分:0)
问题是你的绝对网址。某些浏览器在处理绝对网址时遇到问题,将其视为跨域请求并将其阻止 ,即使它不是跨域请求 。您应该尝试使用相对网址
答案 1 :(得分:0)
问题可能在url
,尝试使用相对路径而不是绝对路径。
您将该文件命名为与.js
文件位于同一文件夹中,因此请尝试
url: '/directory_path_to_the_same_folder_as_the_JS_file/form_validate.php',
答案 2 :(得分:0)
尝试将done
与jQuery.post instead一起使用。
例如:
jQuery.post('form_validate.php', data).done(
function(data, textStatus, jqXHR) {
alert(jqXHR.responseText);
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}).complete(function() {
// Common code when request completes
});
答案 3 :(得分:0)
如果您的错误是[object Object] error NOT FOUND
,那么原因是
AJAX中指定的URL不正确。
如果您的错误是[object Object] error INTERNAL SERVER ERROR
,那么
因为你的服务器文件中的错误,即php文件,错误就像变量未正确定义等。
希望这有帮助
谢谢
答案 4 :(得分:-2)
function abc(){
var ret=true;
$.ajax({
type: 'POST',
url: 'send_password.php',
data: 'mail_to=mymail&new_password=pwd',
async:false,
success: function(response){
},
error: function(r){
ret=false;
}
});
return ret;
}
alert(abc());
看看这个testfiddle