繁体   English   中英

从jQuery.get()返回responseText

[英]return responseText from jQuery.get()

我试着这样做:

var msg = $.get("my_script.php");

我认为msg将被设置为my_script.php返回的文本,即jqXHR对象的responseText。 它显然不起作用,因为msg总是设置为“[object XMLHttpRequest]”

有没有快速的1行方式来做我想要的?

谢谢。

经过一些测试,我最终找到了解决方案。

我需要调用同步,$ .get简写函数总是异步的,所以我需要使用$ .ajax,如下所示:

var msg = $.ajax({type: "GET", url: "my_script.php", async: false}).responseText;

我不认为有更好的方法来做到这一点,谢谢你的答案。

你可以随时使用:

var msg;
$.get("my_script.php", function(text) {
  msg = text;
});

如果由于某种原因,响应是文本,远程脚本可能会将内容类型更改为类似JSON,因此jQuery会在输出之前尝试解析字符串。

返回值只是用于ajax请求的jqXHR对象。 要获取响应数据,您需要注册回调。

$.get("my_script.php", function(data) {
  var msg = data;
  alert(msg);
});

响应文本在成功回调中可用; 在那里做你需要做的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM