【发布时间】:2014-09-07 02:42:57
【问题描述】:
我今天早些时候问了一个问题,运气不佳: AJAX within a foreach loop
我走上了正确的道路,但提供的答案让我比以往任何时候都更加困惑。 每当我使用 ajax 调用单击我的锚标记时,什么都没有发生。当我进入控制台视图并检查网络选项卡时,它说呼叫成功。当我进一步了解通话详细信息时,它会显示我发送的所有数据以及它所访问的页面。 page_id=252 上的代码不会触发。
我正在使用 wordpress 来完成这项任务。 我正在使用自定义模板来保存我的 PHP 代码。不是插件。
我有两页:
Index.php
ajaxcall.php
Index.php(?page_id=## 是我的 wp 页面的默认永久链接。此位置有效。)
<script type="text/javascript">
function onClickingThis(rem_opt,vidid){
$.ajax({
url: '?page_id=252',
type: 'POST',
data: {action: 'update_this_func', remove_option: rem_opt, uservideo_id: vidid },
dataType: 'json',
success: function(response){
console.log('works');
}
});
}
</script>
// all my php code, for everything on the page.
<a href="#" onclick="onClickingThis(0,1)></a>
ajaxcall.php
function update_this_func(){
$remove_option = $_POST['remove_option'];
$uservideo_id = $_POST['uservideo_id'];
global $wpdb;
$wpdb->query("UPDATE " . $wpdb->prefix."uservideo
SET is_removed =" . $remove_option . "
WHERE uservideo_id =" . $uservideo_id );
return json_encode(['status' => 'Updated!']); // return status as json
}
此代码由用户 Ervald 提供,但他不想详细说明他的代码。 我的成功消息不适用于 ajax,但我在控制台中没有收到任何错误。 我如何调试我的ajax?我的ajax设置不正确吗?如果这不是使用 ajax 的正确方法,请告诉我。任何帮助都非常感谢。
【问题讨论】:
-
您可以在开发者工具 (F12) 的 Chrome 网络选项卡上调试 AJAX 以查找 XHR 项目。单击该项目,它将在您的右侧显示另一个框架,然后您可以查看请求信息以及“预览”选项卡。