出于某种原因,我不能让它发挥作用。我想要做的就是当点击一个按钮时,(通过ajax)执行一个php文件。 Aka,如果我不使用ajax,我们会看:
<a href="file.php">dfgdfg</a>
我希望在不离开页面的情况下执行文件。
这就是我的主题:
$(".vote-up").live('click', function(e) {
$.ajax("file.php", function(){
alert("Executed file");
});
});
这似乎不起作用。我真的很困惑jQuery ajax函数如何在一般情况下运行,而不处理任何远程复杂的事情。
添加了问题:
.ajax({
url: 'includes/login-check-jquery.php',
success: function (data) {
if(data == 1){
alert("Logged in!!!");
}else{
window.location = data;
}
error: function (xhr, status, error) {
// executed if something went wrong during call
if (xhr.status > 0) alert('Error: ' + status); // status 0 - when load is interrupted
}
});
});
在上面的代码中,如果返回的数据等于“登录”,则显示消息框。否则它将重定向到该位置(在数据中发送)。由于某种原因,这个if语句不起作用,但数据按预期返回。
我的PHP代码是:
<?php
if (!$user->logged_in){
echo "../login/index.php";
}else{
echo "1";
}
&GT;
有什么想法吗?
答案 0 :(得分:5)
如果您不想离开页面,请执行
$(".vote-up").live('click', function(e) {
e.preventDefault();
...
如果需要,可以更新ajax
$.ajax({
url: 'file.php',
success: function (data) {
// this is executed when ajax call finished well
alert('content of the executed page: ' + data);
},
error: function (xhr, status, error) {
// executed if something went wrong during call
if (xhr.status > 0) alert('got error: ' + status); // status 0 - when load is interrupted
}
});
错误回调部分可以删除,如果您只是为了简单而不是可用性,可以通过引用jquery ajax doc添加更多选项。