JQuery :: Access To Variable That Is Returned From The $.ajax "success" Setting?
Feb 16, 2011
I am trying to access a variable that is return from the "success" setting from an $.ajax call. I am not sure how to do this. I have attached the code below. Maybe there i a different way to get this variable?
I am using this code in c#. I need to create a url dynamically which the following code does. The BuildURL method has a string return and returns the build URL. How do I get that value and use it in the following code?
I can't use the value returned by $.post() method out of the scope of success function.
For instance in below example myvar alerted as empty even though var is alerted with a value. Besides, hide does not work in the scope of success function.
The following code works fine in IE8 and Firefox 3.5. Any idea why it does not work in Chrome ? Tried it both in localhost and on my web server -- no success.
In the header: [code = php] <?php if((isset($_COOKIE["unique_id"]))&&isset($_COOKIE["users_resolution"])){ $screen_res = $_COOKIE["users_resolution"]; $unique_id = $_COOKIE["unique_id"]; } else //means cookie is not found set it using Javascript { ?> [/code] [code = html] <script language="javascript"> <!-- writeCookie(); function writeCookie() { var today = new Date(); var the_date = new Date("December 31, 2023"); var the_cookie_date = the_date.toGMTString(); var the_cookie = "users_resolution="+ screen.width +"x"+ screen.height; var the_cookie = "unique_id="+ uniqid(); var the_cookie = the_cookie + ";expires=" + the_cookie_date; document.cookie=the_cookie }function uniqid(){ var newDate = new Date; return newDate.getTime(); } //--> </script> [/code] [code = php] <?php } ?>
// And in the ,body> <?php echo "Screen resolution: ".$screen_res."<br>"; echo "Unique ID: ".$unique_id."<br>"; ?> [/code]
My app recently upgraded to 1.4 and as such started using the XMLHttpRequest in the success callback of the .ajax function however we been forced to roll back to 1.3.2 due to performance issues with IE7 (forced to use in a corporate environment) Is there any way to get access to the XMLHttpRequest after an ajax call? If not, would anyone be so kind as to point out if its possible to modify the 1.3.2 source to add the parameter to the success call back like in 1.4? I am hoping its a simple modification however I could be wrong. We are set to upgrade to the lastest jQuery when we get a browser upgrade to IE9 but that could be up to a year away and I would really like to continue to use the XMLHttpRequest in my app as its a lot faster than my old approach.
today I updated my Firefox from 3.5 to 4.0b3 and it seems that the AJAX success callback is not longer fired. Firebug shows the correct response but the function is never called. Is this a Problem of the FF Beta, or is Jquery responsible for this?
And i have gone through this forum and other forums for a simple fix ... since so many have had this problem..but i have nt found anything that seems to work hence i am posting this problem
I dont know what i am doign wrong i have used debugbar and i can seethe html content that comes back i have used fiddler and i see hte html content that comes back there....the xhr stat =200 so every thing is good..yet it doesnot replace the the content $("#updateroster").html(data).
I'm working with a few more variables than this, I'm working with 3 variables. What I'm wondering is should I use json_encode() on the php side. I will be using php validations, so I may return error messages in an array. How do I check whether I have error messages or true value.
I'd like to send in an associative array so I can have email = "error"; amongst a few others. So if email is the only one with error I will .append a message to the correct div id.
My web page consists of 3 js jquery.js, a.js and b.js. This js are in order one after the another as posted. I have ajax call in a.js $.ajax inside a function fun() and this function is getting called from b.js function fun()return the value objtained from ajax call.No here is the tricky thing. Everything executes fine but in my b.js from where i am calling fun i am not able to get the returned by fun;But if i simply have an alert box then i am able to get the value/I tried jquery ajax with asynch attribute as false But still no results
I'm so happy my jquery is dispatching a serverside script (ajax) and it is working I have verified in the database.Now I would like to provide some feedback to the user so first go will be alert, later I will do something snazzy.I am just getting head around jQuery, so please excuse noobness of question. I will think that either one or the other of these alerts below would fire, but neither of them do and nothing also logs in the console.
I've noticed this weird behaviour of jQuery in Safari and Chrome (didn't test on Firefox as I'm using some webkit CSS extensions). After setting up the call like this:
If a timeout occurs (I switch the local webserver off), the 'success' method will be called! More than this in the textStatus parameter there is a string with "success" !!! The error handler doesn't even get called.... (As you may notice the only way I had to tell the problem, was to check the data param if it is null or 0 length. How can I avoid this?
So I'm loading the div#my_events by prepend(data) where "data" is another well styled div. Is there anyway to animate this returned data. Unfortunately I can't just specify a unique ID on the incoming data. So I was wondering how else I might be able to address this data I'm returning.
It is basically a topic list, with a modal that sends jquery to add a topic to the database, and returns the topic from the database, hides the modal, and displays the last added topic at the top of the topic list. Now I'd like it to do something slightly fancy like animate the color of the background to bring the user's attention to it.
I define a "click" event on "a" tags in the ready part of a page. It fires just fine when I click on any "a" tag on the page. I then have a button which sets the content of a div using ajax. This content contains a couple of "a" tags. The issue now is that the "click" event does NOT fire when clicking on these tags. I suspect it is because they did not exist when the page was initially rendered. What is the "JQuery way" of dealing with an issue like this? Of course I cannot be the only one in the world who needs to return HTML with events from my ajax calls :-)
In this dumb example, I'm unable to match the 'data' returned variable with the value I assigned to it in php (I can't manage to enter my 'do stuff'), yet its value is 'ok' if I display it. I have no problem to retrieve html code from php and inject it in my pages, but I can't test it as a regular javascript string.
What's wrong in this ? What have I missed about the 'data' format ? Do I have to 'cast' data to a javascript string (and if so, how ?)
but this has not worked. the latter showed that jquery is inserted in the index. the main page that calls the button. jquery in a home can act on an ID loaded from another file with ajax?
I am currently using $.ajax to post to a Perl file that queries a webservice and returns XML. Running the Perl via command line confirms that XML is being returned with Content-Type: application/xml. However, regardless if I set the dataType parameter to "xml", "XML" or just use jQuery's intelligent guess, it appears that I am not getting any data returned to my function at all.
I've tried using the full $.ajax notation and the simplified $.get notation as follows:
and:
I have also tried using JQuery to perform a "GET" directly to the webservice which returns XML by default and still I get no data returned to my function.
Although I doubt it's browser-related, I have confirmed this in both Chrome (5.0.375) and Firefox (3.6.3).
When using .ajax, and when before I receive any data back from the server, I would like to call a function that could display some type of 'thinking' icon. In looking a the documentation I see there is a 'success', for when after receiving data back successfully, and an 'error', for obviously when something bad happens and need to error gracefully. I do not see something like a 'beforeSuccess' function that would allow me to specify, for example, to overlay a 'thinking icon' on top of a <div> after request is sent to the server and before I get any data back. I would assume this is a pretty standard necessity in ajax applications, and probably missing something here. How exactly is this done using the .ajax methods?
I would like to submit a form depending on the success data of an ajax post.
Below is my jquery code; as you see #theform is the main form and before submitting the form I need to check the availability of the the date and time and the room using$.ajax. However it doesn't submit the main form if the date, time and the room is available.
required=["txtCal_Event_CalendarID","txt_TreatmentRoom","txtTreatmentID","txtTreatmentTypeID","datepicker1","datepicker2","timepicker1","timepicker2"]; emptyerror="Please fill out this field.";
I have a problem I have in my controller a function which poperly returns the value (i've checked by var_dump). When I try to access this data from $.ajax it returns nothing...