gpt4 book ai didi

jquery - 在 Rails 3 应用程序中使用 jQuery-UJS 进行远程 link_to 时出现解析器错误 : how can I debug this?

转载 作者:行者123 更新时间:2023-12-03 22:24:34 25 4
gpt4 key购买 nike

我尝试使用 Rails 3、remote_link :remote => true 和 jQuery 单击链接后替换 div 的内容。

到目前为止,我已经能够让 Controller 渲染正确的部分,同时使用 200 HTTP 代码进行响应。我设置了一些回调来查找问题的根源:

jQuery(function($) {
$("#follow-link").bind("ajax:before", function() {
console.log("ajax:before");
});

$("#follow-link").bind("ajax:success", function(data, status, xhr) {
console.log("ajax:success");
});

$("#follow-link").bind("ajax:complete", function() {
console.log("ajax:complete");
});

$("#follow-link").bind("ajax:error", function(xhr, status, error) {
console.log("ajax:error");
console.log(error);
});
});

虽然 beforecomplete 被触发,但 success 没有被触发,并且 error 输出“parsererror”。当我在 Safari 的开发者工具中检查响应时得到的内容是一个简单的字符串。

为什么会引发解析器错误?如何获取有关导致此错误的原因的更多信息?

最佳答案

即使我的远程链接正确指向 :format => :js 的操作并且我的 Controller 操作正确使用 ,我也遇到了奇怪的 parsererror 问题>respond_to 提供 JSON 对象,例如:

respond_to do |format|
format.js do
render :json => {:something => "OK"}
end
end

解决方案最终只是将这一行放入我的 application.js 中:

$.ajaxSettings.dataType = "json";

默认情况下,jQuery 似乎试图将所有响应评估为 "script",我猜这意味着它试图将其作为代码执行——?一旦解决了全局问题,就删除此行。

关于jquery - 在 Rails 3 应用程序中使用 jQuery-UJS 进行远程 link_to 时出现解析器错误 : how can I debug this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6089444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com