Wordpress 是不是在劫持我的 Ajax 表单帖子?
Posted
技术标签:
【中文标题】Wordpress 是不是在劫持我的 Ajax 表单帖子?【英文标题】:Is Wordpress hijacking my Ajax form post?Wordpress 是否在劫持我的 Ajax 表单帖子? 【发布时间】:2013-08-08 09:11:50 【问题描述】:我是 Wordpress 的新手,也是 JQuery 的新手,所以让我开始解释我想要做什么。
我有一个管理页面,在这个页面内我让用户能够上传图片。我希望使用 Ajax 完成此操作(独立于一般表单更新)。
这是我目前的代码:
-
在页面顶部 - 脚本包括:
我可以确认这些脚本是“可ping 通的”并且可以正常工作。
现在是 html 代码:
<table >
<tr>
<td style="padding:10px" valign="top">Email Image (180x180):</td>
<td style="padding:10px"><img id="previewEmailImage" width=180 height=180>
</td>
</tr>
<tr>
<td></td>
<td>
<div id='emailpreviewloader'>
</div>
</td>
</tr>
<tr>
<td></td>
<td>
<form id="imageform" method="post" enctype="multipart/form-data" action="/ajaximage.php">
<input type="file" name="photoimg" id="photoimg" />
</form>
</td>
</tr>
</table>
HTML 中的关键内容是 a) 表单和 b) div emailpreviewloader。
现在就在 html 表之后,内联我有以下 js:
<script type="text/javascript">
$(document).ready(function()
$('#photoimg').live('change', function()
$("#emailpreviewloader").html('');
$("#emailpreviewloader").html('<img src="/loader.gif" />');
$("#imageform").ajaxForm(function(result)
alert("Thank you for your comment!");
);
);
);
</script>
出于测试目的,ajaximage.php 只包含 1 行:Echo "It working";
所以假设我的工作做得对,并且上面的 html + js 是正确的,看起来 Wordpress 可能会以某种方式劫持 Ajax 并阻止它按预期工作。这可能吗?
我只想有一个常规的 Ajax 帖子,这怎么可能?
编辑:
什么是有效的:
文件上传控件的更改事件正在触发。我已经通过警报确认了这一点,并且 loader.gif 是可见的。但似乎表单没有触发,或者没有正确触发。内心的警觉,永远不会触发。
【问题讨论】:
【参考方案1】:如果您不想将 wordpress 的功能用于 ajax 调用,请尝试将表单发送到 action="<?php bloginfo('template_url');?>/ajaximage.php"
并确保该文件位于您的 wordpress 安装的根目录中。
【讨论】:
以上是关于Wordpress 是不是在劫持我的 Ajax 表单帖子?的主要内容,如果未能解决你的问题,请参考以下文章
wordpress 中的 Ajax 调用不适用于前端站点的订阅者用户
当 ajax 代码在 wordpress 的自定义插件中打开时,数据库表条目停止
动态加载 wordpress wp_editor (ajax)