从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); });
响应文本在成功回调中可用; 在那里做你需要做的事情。