开发者

return responseText from jQuery.get()

开发者 https://www.devze.com 2023-04-09 14:22 出处:网络
I tried to do something like this : var msg = $.get(\"my_script.php\"); I thought msg would be set to the text returned by my_script.php,i.e. the responseText of the jqXHR object.

I tried to do something like this :

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

I thought msg would be set to the text returned by my_script.php,i.e. the responseText of the jqXHR object. It app开发者_Go百科arently doesn't work like that as msg is always set to "[object XMLHttpRequest]"

Is there a quick 1 line way to do what I want?

Thanks.


After some testing, I ended up finding a solution.

I need the call to be synchronous, $.get shorthand function is always asynchonous, so I will need to use $.ajax, like this:

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

I don't think there is a better way to do this, thanks for your answers.


You can always use:

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

If for some reason the response is text, the remote script might be changing the content-type to something like JSON, and thus jQuery tries to parse the string before outputting to you.


The return value is simply the jqXHR object used for the ajax request. To get the response data you need to register a callback.

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


The response text is available in the success callback; do what you need to do with it there.

0

精彩评论

暂无评论...
验证码 换一张
取 消