【问题标题】:Is Wordpress hijacking my Ajax form post?Wordpress 是否在劫持我的 Ajax 表单帖子?
【发布时间】:2013-08-08 09:11:50
【问题描述】:

我是 Wordpress 的新手,也是 JQuery 的新手,所以让我开始解释我想要做什么。

我有一个管理页面,在这个页面内我让用户能够上传图片。我希望使用 Ajax 完成此操作(独立于一般表单更新)。

这是我目前的代码:

  1. 在页面顶部 - 脚本包括:

我可以确认这些脚本是“可ping 通的”并且可以正常工作。

现在是 HTML 代码:

<table width="100%">
                <tr>
                    <td width="100" 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 width="180" src="/loader.gif" alt="Uploading...."/>');

                        $("#imageform").ajaxForm(function(result)
                            {
                                alert("Thank you for your comment!");
                            });
                    });
                });
            </script>

出于测试目的,ajaximage.php 只包含 1 行:Echo "It working";

所以假设我的工作做得对,并且上面的 html + js 是正确的,看起来 Wordpress 可能会以某种方式劫持 Ajax 并阻止它按预期工作。这可能吗?

我只想有一个常规的 Ajax 帖子,这怎么可能?

编辑:

什么是有效的:

文件上传控件的更改事件正在触发。我已经通过警报确认了这一点,并且 loader.gif 是可见的。但似乎表单没有触发,或者没有正确触发。内心的警觉,永远不会触发。

【问题讨论】:

    标签: javascript ajax wordpress


    【解决方案1】:

    如果您不想将 wordpress 的功能用于 ajax 调用,请尝试将表单发送到 action="&lt;?php bloginfo('template_url');?&gt;/ajaximage.php" 并确保该文件位于您的 wordpress 安装的根目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2012-10-02
      • 2017-07-10
      • 2017-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多