JQuery :: Can't Use Value Returned By $.post() Method Out Of The Scope Of Success Function
Sep 30, 2010
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.
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'm using jQuery's getJSON method to get the current date from a foreign server. I however, should this request fail (e.g. if the server is down), I want to have my page fall back to a sensible default.
What I'd like to do is this: var date = "sensible default" $.getJSON(url, function(data){ date = new Date(data.datetime); }); if request was successful date will contain new Date(data.datetime); if request was unsuccessful date still contains "sensible_default"
What I have is this: var timezone = "Europe/Berlin"; var date = "sensible_default"; $.getJSON("[URL]"+timezone+"&callback=?", function(data){ date = new Date(data.datetime); }); alert(date); But this produces an alert of "sensible_default", despite the fact that the getJSON request fired correctly.
But problem is that It doesn't execute the If-else condition. In firebug I have seen the console the response and html both displays "ok" even if I prompt the value of data it displays "ok" but when I debug the code it appends character along with the value .Another thing is that is it possible to put the entire ajax code into a function and based on the value it return after success full execution I return Boolean value to calling function.I have tried this but it always returns false.
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'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?
i'm trying to send information entered by the user to a separate page, where a mysql query is performed in PHP, but right now it is just receiving the information and returning it.The first page looks like this:
I am using an webservice(.net) to do some database related operations. I would like to call a method from this webservice to return an xml file. At the client side I want to use jquery to call this webservice by passing json object. How will I do this? In success method is it possible to get the xml file as returned value from the webservice?
I'm currently working on a form where an entire HTML page is returned via the .ajax method. I would like to display only the content of the div with the id "content" (of the page returned) in the div with the id "result" (in the calling page). Here is my current script :
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.";
The below code posts a couple of vars to a php file which sends back a json object containing (in the test case) one object called 'faves' with 2 variables (let's say called var1 and var2). I can't seem to access the variables after the ajax call. The result is always an 'undefined' error message. I've tried:
I have a script that uses jQuery to POST data through AJAX to a PHP script, that uses that data to create a dynamic JPG image. The PHP script returns the binary image data as output using the PHP header image/jpeg command (so far so good).
Now I want to display that image in the client, but I haven't been able to find a proper solution for this yet. After reading up a bit I understand a possible solution would be to have the PHP script encode it in base64 and return the string to the client as a data URI. However, that solution won't suffice because it is not supported by IE < 8 and still limited to 32K images in IE 8.
For the moment, I am writing the image to a tmp dir on the server and return a filename to the client. However, there must be another way to solve this more elegantly through. how I can use jQuery/JavaScript to display the returned binary image data in the browser?
Im trying to validate a form (easy) and POST it to a third party WCF service. I am able to validate and POST data to the service, but its returned data (in table format) keeps opening in a blank page with their url in the browser address bar. Can't have that, I need to grab the returned data and .append it to a div on my page. Here is what I have that FAILS
<script type="text/javascript"> $(document).click(function() { //cancel form
I'm wanting a table cell click event to remove and replace the table it was clicked on, however I'm finding that as it's deleting the original table object the actual running event code is being replaced and the function is bailing.how I can call the delete/refresh function from outside the event's function scope?
I am writing a small data entry screen that will post the form data to a page and return a message. But i cannot get the Success or Error functions working properly.
Here's the code where strData is the posted querystring of:
I'm not sure whether it should be in a form and using the onsubmit or click of a button.
I'm trying to use the Ajax $.post method, in Firefox. This same code is working for me in Chrome. The form handler is working, and I can get Firebug to breakpoint on line 12, where the $.post method is called. But, it won't ever enter the callback, so it's not getting a response. I'm not seeing any data hitting my server, either, so I can tell the POST isn't going through.
One thing to mention that seems odd, the form handler doesn't seem to be executing until the timer, defined below the form handler, executes. When I hit Submit, it'll sit there and the breakpoint won't occur until the timer occurs. This seems odd to me.
Can anyone perhaps spot something that I am doing incorrectly, here?
Code is pasted here: [url]
After further inspection, the form handler isn't running on the timer. I removed the timer all together, and the form handler is still extremely slow. It takes 3-5 seconds to hit the $.post function after submitting. Why so slow?
In my MVC 2 website i have an index page with a list of items. Besides each item is a delete link which once you press it prompts you with a jQuery dialogbox where they need to confirm their action.I get the dialog box op with the right buttons and text. But the issue occurs when I try to confirm and call the deleteJob(jobId) method.The problem is that I never reach the ActionResult method in my controller.