【问题标题】:All the ajax calls on site suddenly stopped working现场所有的ajax调用突然停止工作
【发布时间】:2016-02-18 16:34:50
【问题描述】:

我的网站上很少有 ajax 功能。朋友添加/删除等。他们工作得很好,自从 1 周以来他们就没有。

控制台日志中不显示任何内容。当我按下按钮时,什么也没有发生。我只是不知道可能是什么问题。自 6 个月以来未更改的页面来源。这是其中一个脚本

$(document).ready(function(){
$('.newFriend, .buttons').click(function() {
$.post('misc/add_friend.php',
        {
            "id": $(this).attr('id')
        },
        function (response) {

            switch (response) {
                case 'Already friends':
                    $('#message_newfriend').html('<div id="alertFadeOut" style="color: green">Already friends!</div>');
                    $('#alertFadeOut').fadeOut(3000, function () {
                        $('#alertFadeOut').text('');
                    });
                    break;
                case 'Trying to add themselves':
                    $('#message_newfriend').html('<div id="alertFadeOut" style="color: red">You can't add yourself as a friend!</div>');
                    $('#alertFadeOut').fadeOut(3000, function () {
                        $('#alertFadeOut').text('');
                    });
                    break;
                case 'Added as friend':
                    $('#message_newfriend').html('<div id="alertFadeOut" style="color: red">You added this user as a friend!</div>');
                    $('#alertFadeOut').fadeOut(3000, function () {
                        $('#alertFadeOut').text('');
                    });
                    break;
            }

        });

   });

});

这是按钮

<a href="javascript:;" class="newFriend has-tooltip pull-right" data-title="Add as a friend" id="'.$id.'" >
    <i class="fa fa-user" style="text-decoration: none;"></i> Add as a friend
</a>

这些是我使用的声明

<script src="css/js/jquery.confirm.min.js"></script>  
<script src="css/js/jquery.flexslider-min.js"></script>    
<script src="css/js/jquery-1.10.1.min.js"></script>
<script src="css/js/jquery-ui.min.js"></script>
<script src="css/js/bootstrap.min.js"></script>

【问题讨论】:

  • 使用$.ajax检查错误
  • 请将jquery文件jquery-1.10.1.min.js作为第一个脚本
  • 没错。您必须先加载 jquery,然后才能加载其他 jquery 插件。
  • 如果你在函数中设置断点,当你点击按钮时它会停在那里吗?
  • 我将jquery-1.10.1.min.js 作为第一个脚本移动-> 相同的结果。甚至不显示按钮的工具提示。如何在函数中设置断点?

标签: jquery ajax


【解决方案1】:

尝试交换

 <script src="css/js/jquery-1.10.1.min.js"></script>
 <script src="css/js/jquery-ui.min.js"></script>
 <script src="css/js/bootstrap.min.js"></script>
 <script src="css/js/jquery.confirm.min.js"></script>  
 <script src="css/js/jquery.flexslider-min.js"></script>    

【讨论】:

  • 感谢您的回答。交换它们后,我得到了按钮的工具提示。但是当我按下它时仍然不起作用并且不会添加/删除。我也没有在浏览器控制台中看到有什么问题。
  • 尝试从代码中删除逗号:$('.newFriend .buttons').click(function() {
  • 其实是的。交换它们是有效的。问题出在jquery.confirm.min.js 我不知道到底是什么,但我下载了新的并替换了我的。现在两个 ajax 调用都在工作。很奇怪,谢谢你的帮助。
【解决方案2】:

这可能是一个跨域问题。即 http 到 https ajax 调用 主机、端口和方案(协议)必须相同才能使 AJAX 请求正常工作。

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2017-08-22
    • 2021-02-01
    • 2016-12-29
    • 2018-05-09
    相关资源
    最近更新 更多