Jquery AJAX 响应不起作用

发布于 2024-09-16 03:31:10 字数 702 浏览 4 评论 0原文

由于某种原因,这个 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>

For some reason this jQuery function is not working properly. Here's my code... the response div is not updating with my response.

WHEN AJAX FUNCTION IS CALLED

if ($action == 'sort') {

    echo 'getting a response';
    return 0;

}

JQuery FUNCTION

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 TO REPLACE

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽清梦 2024-09-23 03:31:10

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

示例:

$.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/

Move the action=sort into the data property of the $.ajax function. You're making a POST request, but appending data onto your query string like a GET request. Data only appends to the query string if it's a GET request.

Example:

$.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/

暮倦 2024-09-23 03:31:10

我建议您使用以下语法,而不是将传递给服务器端脚本的参数连接起来。另外,如果您已经使用 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() });

Instead of concatenating the arguments you are passing to your server side script I would recommend you using the following syntax. Also if you already use jQuery you no longer need the document.getElementById function:

$.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);
    }
});

or even shorter using the .load() function:

$('#ajaxPhotographSortResponse').load('contributor_panel.php?action=sort', 
    { sort_by: $("#sort_by").val(), view_batch: $("#view_batch").val() });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文