从jQuery.get()返回responseText

我试着这样做:

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); }); 

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