首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX没有在Safari或Safari手机上开火

AJAX没有在Safari或Safari手机上开火
EN

Stack Overflow用户
提问于 2014-10-12 19:02:21
回答 2查看 679关注 0票数 1

出于某种原因,我的AJAX事件不会在我的Mac或iPad/iPhone上启动Safari。我对此很陌生,所以这可能是(也可能是)程序员的错误,但下面是我的代码:

代码语言:javascript
复制
<form class='send-form'>
    <input type="hidden" name="csv-val" value="">
    <input type="hidden" name="img-val" value="">
    <button type='button' class='send-it' onclick='$(sendTheData(event))'>
        Manual Submit
    </button>
</form>

<script>
    function sendTheData(event){
        var sendButton = $(event.target);
        var theForm = sendButton.parents('form');
        var theFormClass = sendButton.parents('form').attr('class');
        console.log("Parent form is " + theFormClass);
        $.ajax({
            async: "true",
            type: 'GET',
            url: 'save.php',
            data: $(theForm).serialize()
        }).done(function( msg ) {
            alert( "Data Saved: " + msg );
        });
        return false;
    }
</script>

请注意,类send-form的元素是由不同的jQuery脚本附加到文档中的,并且在初始加载时不在页面上,因此这可能会影响事情;我不确定。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-12 19:39:54

步骤:

  • onclick属性更正为onclick="sendTheData(event);"
  • 检查url是否是正确的。
  • 将方法从GET更改为POST

关于表单的类,您可以将id设置为特定的表单,然后将变量绑定到该id,而不是class。尝试避免使用parent()和类似的函数,因为它们使用了太多的资源(您正在遍历所有元素,然后通过父元素,然后找到正确的元素,而不是直接针对正确的元素)。

票数 0
EN

Stack Overflow用户

发布于 2014-10-12 19:34:55

尝试添加失败回调,也许你会出错.你可以在http://api.jquery.com/jQuery.ajax/上得到一个例子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26328835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档