【问题标题】:Jquery AJAX response not workingJquery AJAX响应不起作用
【发布时间】:2010-08-27 14:02:19
【问题描述】:

由于某种原因,这个 jQuery 函数不能正常工作。这是我的代码...响应 div 没有随着我的响应而更新。

调用 AJAX 函数时

if ($action == 'sort') {

    echo 'getting a response';
    return 0;

}

JQuery 函数

function sort() {

    $.ajax({
        type: "POST",
        url: "contributor_panel.php?action=sort",
        data:"sort_by=" + document.getElementById("sort_by").value +
             "&view_batch=" + document.getElementById("view_batch").value,
        success: function(html){

            $("#ajaxPhotographSortResponse").html(html);

        }
    });

}

DIV 替换

<div id="ajaxPhotographSortResponse"></div>

【问题讨论】:

  • AJAX调用加载成功了吗?您可以使用 Firebug 进行测试。或者在 success 函数中执行 alert()。
  • 您为什么认为它会总是成功运行?为错误处理添加回调,您将能够更好地调试代码。
  • 抱歉,我不认为 AJAX 调用正在加载...当我通过在下拉框中选择某些内容来触发该功能时,萤火虫脚本选项卡中没有显示任何内容。
  • 是否有特定的浏览器会发生这种情况?您是否尝试过 console.log(html) 来查看您从服务器返回的内容?
  • 你分配 $action=$_POST['action']; ?

标签: php jquery ajax response


【解决方案1】:

action=sort 移动到$.ajax 函数的数据属性中。您正在发出 POST 请求,但将数据附加到您的查询字符串中,就像 GET 请求一样。 Data 仅在是 GET 请求时附加到查询字符串。

例子:

$.ajax({
        type: "POST",
        url: "contributor_panel.php",
        data: {action:'sort', sort_by: $('#sort_by').val(), view_batch: $('#view_batch').val()},
        success: function(html){

            $("#ajaxPhotographSortResponse").html(html);

        }
    });

http://api.jquery.com/jQuery.ajax/

【讨论】:

    【解决方案2】:

    我建议您使用以下语法,而不是将您传递给服务器端脚本的参数连接起来。此外,如果您已经使用 jQuery,则不再需要 document.getElementById 函数:

    $.ajax({
        type: "POST",
        url: "contributor_panel.php?action=sort",
        data: { sort_by: $("#sort_by").val(), view_batch: $("#view_batch").val() },
        success: function(html){
            $("#ajaxPhotographSortResponse").html(html);
        }
    });
    

    使用.load() 函数甚至更短:

    $('#ajaxPhotographSortResponse').load('contributor_panel.php?action=sort', 
        { sort_by: $("#sort_by").val(), view_batch: $("#view_batch").val() });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-12
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多