嵌套在 .get 请求中的 jQuery 不会执行
jQuery nested within .get request won't execute
我有以下jQuery get
请求,它以键名"data"返回html文本:
$(".article").click(function() {
$.get("<%= click_path %>", function(data) {
$(".article").html(data);
});
});
执行除行$(".article").html(data);
之外的所有代码。事实上,我放在get
请求中的任何jquery代码都无法执行,即使如果我将其移动到get
请求之外,它仍然可以正常工作。有人认为我的语法有什么问题吗?
jQuery的$.get
方法是一个别名,$.ajax
假定的HTTP请求方法为GET
,并且无法指定许多选项。你给它一个 URL 和一个函数,以便在成功检索该 URL 时运行。它尝试GET
该 URL,如果可以,成功函数将运行。如果不能,或者响应数据有问题,它将静默失败,并且不会运行给定的函数。
既然如此,我认为您的请求在某处失败了。
您需要在开发人员的控制台中查找错误并检查请求。
您还可以更改代码以使用 $.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);
}
});
});
很有可能,你的 ajax 请求无法执行,因此,回调中的 jQuery 代码永远不会运行。
请改为运行以下命令,并查看是否发出错误警报:
var jqxhr = $.get( "<%= click_path %>", function() {
alert( "success" );
}
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});
相关文章:
- 对页面重新加载 Jquery 执行操作
- 我可以使用ajax/javascript/jquery执行curl命令吗
- jquery 执行行为
- Jquery执行基于元素'的父标记
- 等待JQuery执行,直到加载了整个页面,中断执行
- 停止jQuery执行任何进一步的代码
- 使用jQuery执行PHP脚本onclick
- 在JS上使用JQuery执行简单任务的任何原因
- 从javascript或JQuery执行服务器端cgi代码时遇到问题
- 满足两个条件时的 jQuery 执行函数
- 使用 jQuery 执行动态传递的函数调用
- 当输入某些内容时,使用 jquery 执行某些操作
- 使用 JQuery 执行服务器端验证,然后将用户发送到另一个站点
- 如何确保我的点击函数仅使用 Jquery 执行一次
- Jquery 执行函数 第三方函数结束后
- 在文本框中按回车键时的 JQuery 执行函数
- 如果我的文本区域为空,请使用jquery执行此操作
- 从javascript/jquery执行系统命令
- document.getElementById(“id”).对jQuery执行操作
- 通过jQuery执行键盘命令