【问题标题】:jQuery $.GET call, no data returned in ChromejQuery $.GET 调用,Chrome 中没有返回数据
【发布时间】:2013-07-08 21:05:27
【问题描述】:

简单的问题。也许已经回答了,但我找不到它(或用一种可以理解的语言)。我有以下电话:

$.get("php/send_reminder.php",{invoice_id:invoice_id},function(data){
      $("#send_reminder").val(data).attr("disabled","disabled");
})

在 Opera 和 FireFox 中,#send_reminder 会填充返回的数据。在 Chrome 中,什么都没有。 Chrome 的诀窍是什么? (我在 Linux Mint 中使用最新的 Chrome)。

谢谢!

我找到了罪魁祸首。就在上述行之前,我使用 window.open 打开带有“_self”的邮件客户端(“mailto:”)(以防止弹出新窗口)。 Firefox 和 Opera 等浏览器似乎继续使用 AJAX 调用,而 Chrome 只是将其切断。恩 fin,谢谢大家,我只需要想出另一种方式来调用邮件客户端。

【问题讨论】:

  • 尝试在})后加分号
  • 您看到了哪些控制台错误?
  • #send_reminder是什么类型的元素? DIV、输入等?
  • 旁注 - 您可能希望使用 .prop("disabled", true) 设置 disabled 属性以获得更好的一致性。见:api.jquery.com/prop
  • 感谢所有建议,但更多的是我担心的返回数据。如果我使用警报(数据),我会在 Opera 和 Firefox 中得到一个值。在 Chrome 中它是空白的。

标签: php jquery cross-browser


【解决方案1】:

我也有同样的问题。通过执行以下操作解决了它:

$.get("php/send_reminder.php",{invoice_id:''+invoice_id},function(data){
  $("#send_reminder").val(data).attr("disabled","disabled"); 
});

注意参数中的字符串连接。

【讨论】:

  • 谢谢!我也会试试这个,稍后再报告。
【解决方案2】:

想到了 2 件事。确保您发送回 HTML(在内容标题中设置)。要确保它被这样解释,请在 get() 调用中添加一个参数。另外,以分号结尾。

$.get("php/send_reminder.php",{invoice_id:invoice_id},function(data){
      $("#send_reminder").val(data).attr("disabled","disabled");
}, "html");

【讨论】:

  • 谢谢先生。我会尝试这些建议,并会尽快报告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
相关资源
最近更新 更多