我有以下jQuery get请求,该请求以键名“ data”返回html文本:

$(".article").click(function() {
  $.get("<%= click_path %>", function(data) {
    $(".article").html(data);
  });
});


除行$(".article").html(data);外,所有代码均执行。实际上,即使我将它移到get请求之外,即使放在我所有get请求中的jquery代码都无法正常运行,它也无法执行。有人看到我的语法有问题吗?

最佳答案

jQuery的$.get方法是$.ajax的别名,假定HTTP请求方法为GET,并且无法指定许多选项。您给它提供一个URL,并提供一个可以成功检索该URL的函数。它将尝试对该URL进行GET,如果可以,则将运行成功函数。如果不能,或者响应数据出了点问题,它会静默失败,并且不会运行给定的功能。

既然如此,我认为您的请求在某处失败。

您需要在开发者控制台中查找错误并检查请求。

您还可以将代码更改为使用$.ajax,并将选项以及当前的参数传递给error方法。如果调用error方法,您将收到jqXHR实例,字符串textStatus和字符串errorThrown作为参数。将它们传递到console.log并查看它们以获取有关错误之处的线索。

$(".article").click(function() {
    $.ajax({
        url: "<%= click_path %>",
        success: function(data) {
            $(".article").html(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus);
            console.log(errorThrown);
        }
    });
});

关于javascript - 嵌套在.get请求中的jQuery无法执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29044805/

10-10 21:45
查看更多