我有以下函数打开jQuery UI的对话框警告删除条目。一切正常,除了使用AJAX的POST。我得到了关于“成功”的回应,但我不相信我正在点击应该执行查询的.php页面。我在这里错过了什么吗?
var $dialog = $("#dialog").dialog({ autoOpen: false, resizable: false, modal: true });
$(".delProj").click(function(){
var delURL = $(this).attr("href").split("#");
var projID = delURL[1];
$dialog.dialog("open");
$("#dialog").dialog({
buttons: {
"Yes, delete this test": function() {
$.ajax({
type: "POST",
url: "http://www.example.com/inc/db_actions.php",
data: "op=DeleteProject&delete="+projID,
success: function(){
// alert( "Test Project deleted successfully." );
$("#"+projID).remove();
}
});
$(this).dialog("close");
},
"No, keep it.": function() {
$(this).dialog("close");
}
}
});
});
答案 0 :(得分:6)
让你的php页面叫做echo something
<强> PHP 强>
echo 'hello world';
<强>的Javascript 强>
添加回调的返回值(此处为data
),
并尝试用js显示它。
[..]
success: function(data){
alert(data);
}
[...]
答案 1 :(得分:3)
我通常会通过JSON格式的数据发送某种形式的响应,以便我的AJAX查询知道他们是否已经完成了他们的目标。类似的东西:
<强>脚本:强>
$.ajax({
type: "POST",
url: "http://www.mydomain.com/inc/db_actions.php",
data: "op=DeleteProject&delete="+projID,
success: function(data){
if(data.success == true)
{
$("#"+projID).remove();
}
});
<强> PHP:强>
// do something
echo json_encode(array('success'=>true));
修改强>
捕获ajax错误通常也是一件好事:
$.ajax({
type: "POST",
url: "http://www.mydomain.com/inc/db_actions.php",
data: "op=DeleteProject&delete="+projID,
success: function(data){
if(data.success == true)
{
$("#"+projID).remove();
}
},
error: function(){
alert('something bad happened');
}
});