如果我做回声(例如在php中),这是有效的,否则它不会:
$.post('api/finder/user.php', { search_id: $(btnobj).prop('id') }, function(data) {
alert(data);
}, "json");
我不想回复任何事情。只需在服务器端运行脚本即可。将函数(数据)保留为函数()。
修改
使用.fail(),它会在内部发出警报,而不是警告(1)。
$.post('api/finder/user.php', { search_id: $(btnobj).prop('id') }, function() {
alert(1);
})
.fail(function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
});
答案 0 :(得分:1)
PHP脚本中echo
的任何内容都是返回给JavaScript的值。你应该让你的PHP脚本打印/返回一些东西,即使它只是:
echo json_encode(true);
如果这是JavaScript所期望的那样,那么PHP提供有效的JSON响应非常重要!
done()
和fail()
):$.post('api/finder/user.php', { search_id: $(btnobj).prop('id') })
.done(function() {
alert(1);
})
.fail(function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
});
如果代码继续在fail()
内执行代码,则需要检查服务器为AJAX请求提供的响应。
您可以使用Chrome中“开发人员工具”的“网络”标签查看请求(AJAX POST请求)以及运行代码时的响应。检查响应的“状态” - 它应该是200代码(表示成功)。
答案 1 :(得分:0)
如果您请求json
并且不返回任何内容,则没有要解析的json,因此会触发解析错误,如果添加了错误处理程序,则会看到该错误。
json parse错误意味着您的成功回调不会触发,您将看不到警报。如果您不希望返回json,请不要请求json。
删除dataType
参数,无论是否返回数据,都应该看到警报。为什么你不想返回数据然而不寻常
答案 2 :(得分:0)
很确定这就是你要找的东西?
$.post('api/finder/user.php', { search_id: $(btnobj).prop('id') });
如果我误解了你并且你实际上正在寻找一种从函数(数据)中返回数据的方法(一个常见的问题),那么就这样做
function removeUser() {
return $.post('api/finder/user.php', {
search_id: $(btnobj).prop('id')
}, null, "json");
};
然后使用:(即使你不回应任何东西也会打电话)
removeUser().done(function(data) {
//parse 'data' response
}