Currently I was able to load remote JSON (php) file using JSONP protocol. However, how to do if my remote file is static? In the doc, it said: you can load JSON data located on another domain if you specify a JSONP callback, which can be done like so: "myurl?callback=?". But since my remote file is a static text file, how can I specify the callback in the output dynamically? In fact, I also wonder if it is possible to control the random callback name by modifying jquery source code...
I'm trying to use $.ajax to make a JSONP call, but the callback function is never executed.I have debugging code in my server that acknowledges that a request is received, but that never runs.The same URL works fine if I paste it into the address bar of my browser.
I'm having (once again) tremendous problems with IE (7), trying to create an application that behaves properly.
This time, it's with Ajax calls triggered by a button click, which do not behave asynchronously.
Here is the highlight of what I'm trying to achieve: a button clicked sends an ajax call to the server whilst the call is made and until the callback function has returned (or an error has been identified), a "wait" animation is triggered. (in the case below, simulated by appending a status in a div)
To achieve this, I decide to use .ajaxStart(), .ajaxStop() and .ajaxError() to trigger the wait animation. It works perfectly in FF and Chrome, but (as usual) not in IE. In IE, when I press the button, the button remains depressed until the ajax call is finished, and then all statuses are dumped at once onto screen. Not very asynchronous...
Here is my code:
If I uncomment line 11 and uncomment the alert, it seems that this forces IE to do things in the proper order. Obviously that's not a solution however...
Will I have to (once again) write IE-specific code to get things working properly?
I am trying to develop a iGoogle-like dashboard that uses JSONP to get the content of each widget from other (trusted) sites.Each widget is a div that will take care of getting its content using $.ajax() and use the callback to update the div with the html content returned with JSONP.The problem I have happens only in Firefox (I'm using 3.6.3):when a site is unavailable or takes longer to return the JSONP content for a widget, it seems that the callback for the other widget does not get executed. All the widgets stay in the "loading" state although I'm sure they have all received the answer.What's puzzling is that if I hit the "stop" button of Firefox, the content of the other widgets get displayed (ie. their displaying callbacks get executed).
If the calls are asynchronous, what prevents Firefox from executing the callbacks for the other widgets once the response is received?Do you have any idea of what's happening and if there's some way around this?
I have some jQuery making ajax requests that works just fine if the server returns a 200 but whenever it returns any error HTTP status none of the events fire. It's happening on more than one request to different servers but I'll just include one example for now:
The request gets made just fine, I can see the response in the net console in firebug and it returns the data I want with a 500 when I do not complete the form correctly. However, it does not fire either the error or the complete function when I get this status, and the ajaxResponse.responseText is undefined when it is logged to the screen. When the form is completed and the request is successfull the success function fires just fine.
Another idea i had was by dynamicly adding an image to the page. But this has the same problem in Opera and i was unable to track an external link in Safari and Chrome (Webkit.
I have jQuery 1.5.1 client-side that is making an .ajax() call to an ASP.Net MVC controller method - expecting a jsonp packaged response. In normal cases, the server packages up a response of typeapplication/json and that works fine. The problem is when the session on the server times out, the server will respond to the ajax call with the server's login page, which obviously isn't valid json and the error handler on the ajax call fires with a parseerror. Similarly, if there's an exception server-side, the site redirects to a custom error page, which again isn't valid json, and: barf. I have no information client-side what went wrong when in the .ajax error handler. The xhr just says parseerror with no further info. Is there any way I can see what the server responded with so I can handle this more intelligently? I've tried change the client-side dataType to "json text" hoping that it would try to interpret the server response as text, if the json fails, but it just goes to the error handler.
So I have a function that is going to get a URL, and have to retrieve json data from that URL. The URL _might_ be same-domain, and might be cross-domain. If it's cross-domain, of course I want to do jsonp complete with the script-tag-to-load and such, but if it's same domain of course I want to do just xhr for efficiency. So I _could_ write all my own logic for this. Write logic to see if the url is cross-domain or not, and then make entirely different $.ajax() calls depending.
(I think I need to use $.ajax() rather than $.getJSON() because I need a callback on failure, not just success). If it is cross-domain, use dataType:jsonp, and make sure to supply a &callback. If it's not cross-domain, dataType:json, and don't even bother supplying a callback. But I'm having trouble figuring out if this is true, or how. What's the easiest way to get $.ajax() to make a dataType:json request if it's same-domain, but a dataType:jsonp request if it's cross-domain?
I'd like to process several blocks of parallel actions, but in a sequential manner.
As an example:
Thus, I want to process blocks, from which I don't know how long they will take and afterwards have a couple of actions, before beginning with another block. I already tried it through using .queue, .ready() etc, but that leads to very ugly or unusable code..
Can I do the following without my program crashing? [code]...
I have created an application that does something similar to the code I just posted. However, my program crashes intermittently. Sometimes it will crash after calling jQuery.get() a few times (with several http requests still pending). Other times it will get through all of them just fine.
I want to know if Ajax can handle that many asynchronous requests without crashing? Can someone look at this to see if there is something I am missing?
Im trying to use jquery to try to do what the image shows: Its for a website made for iphone so im trying to add the slide effect. It all seems a little complicated, but ill explain: 1-The user clicks a link 2-A loading message (or image) appears Meanwhile, the new page loads on a hidden side (its a FULL page, not just a div)
I'm using an .ajax() call to do a jsonp request to another domain. When the user is not logged in, however, the server will return a 401 error. Unfortunately, this causes my .ajax() call to fail _without_ calling the error callback. Is this a known bug? Here is my code:
I have some trouble with my app. User enters his login&pass, they are being checked on server using ajax, and if they're ok, i wanna open new page, which'll set cookies and session vars, but i have an universal script, and I need request something like universalScript?mode=login (mode is GET) and some POST parameters such as login and pass, besides it must be new page, not ajax, Some ideas?
I want to send another ajax request when one request is in process to get the status of first request. If I call both the request the second request gets blocked till the completion of the first request.
I have a for loop that generates a .append line for each item in an array. This loop is writing out a deli order, where each item on the array is an item on the order. One of the things in the appended line is a delete button that lets the user delete that particular item in the array.
The .append looks like this:
The thing I'm looking for some explanation on is the dlt(' + i + '). dlt() is the delete function and it needs to receive the number of the item on the order array that this line is being generated for. If I code dlt(i) the function is passed the value of i at the time the delete button is clicked, which is after the entire order has been displayed and so is one plus the number of the last item on the array. Someone from this forum suggested the dlt(' + i + ') form to capture the value of i at the time the line was being generated, but I don't really understand why this works.
Could someone who does understand this perhaps write a few lines about why this captures the i that I want? I certainly wouldn't have thought to write this on my own.