Ajax :: Separate The Different Requests On The Page?
Jan 12, 2009
I have this function among many that houses forms. I'm also using an ajax page that is supposed to deal with form's entries and insert everything into my DB and I don't know how to separate the different requests on the ajax page so that it can do what the correct request is.
I'm trying to find out how you would pull in specific elements from a HTML file using AJAX.
For example, my AJAX script takes in the URL of the HTML page I want to grab content from (this HTML page is on my server so there are no cross-platform security issues) and it pulls in the HTML document as a string of text rather than a XML/DOM document.
I want to be able to grab a DIV element with a specific ID and pull in all the content from that DIV element.
I know that JavaScript libraries have the ability to do this, but I'm not looking to use a library, I want to use my own Js code. For example this can be done using jQuery's load() method but again I'm looking to implement this with *home-grown* Js code and not have reliance on a Js library for this one aspect of my project.
It looks like IE is caching the response for some AJAX requests here. The app I'm working on is a catalog of sorts. Clicking the link for a category loads a set of "items". Those, in turn, may be deleted from the admin view. The delete works fine (I checked the DB) but, when loading the same set of category items, I'm seeing the list unchanged. That is, the thing that was deleted is still there. Sorry for the crap explanation but I'm not really sure of a better way of putting it. Bottom line is, has anyone seen this sort of behavior with IE before? Can it cache the result of an AJAX request like that? And, if so, how can I guard against that? Can I set cache-control headers for an AJAX request?
This might seem like a silly question..First issue. If i have a response and i'd like to update both text div and a status div how would i go about doing this. I've seen that jQuery has a few options such as OnSuccess etc?
Say that i post a comment and obviously you'd want to update some kinda statusbar on your website with the info that the message was posted successfully with ajax. (otherwise it might slip by the user unnoticed since ajax is kinda discrete)
Would it be a good way to for instance check the responseText if it contains anything and if it does you simply write a successmessage by grabbing a div from JS and if the responseText contains a custom error code lets say 1 you'll update the statusbar with a deny message?
Second thing. I've currently created an Ajax search on my site which activates whenever the user press or unleash the button. The issue is that if the user types fast enough it comes stuck showing the Loading.gif constantly. Could this be due so many requests opening and that i have a sleep on the server-side and if so how would you do it instead? I am using a serversleep of 1 second to have the Ajax pic appear consistently.
I have a jsp page using ajax that has a button with an action. The action sends multiple ajax requests. The response from these requests is to be used to update a progress indicator to show the servers current progress. I can see from the debug that I am getting the 1st response. I think it is the way how I have implemented the further requests. I think this is down to my javascript knowledge, which isnt very much. Also I assume using multiple requests in this way is the correct thing to do? I have spent ages trawling the internet trying to get a solution.
Very intermittently, I am finding ajax requests submitted with jquery are being submitted twice, once with parameters, and once without parameters. The code looks something like this:
I'm trying to launch two ajax requests at same time. I'm expecting result from the first later than the second. The problem is, it won't return me any result from the second request untill first one is returned.
I'm getting response from the $.getJSON function only when the $.post is over. Is this a bug or a mistake from me ? My aim is to launch a long request and fire multiple other requests to check how is doing the first one.
I'm encountering an AJAX problem when I try to execute multiple AJAX requests at the same time. What I want to do is delete a message and display the status (succes or failure) of that in div1, and refresh the messages on the page in div2. This needs (for as far as my knowledge reaches) two AJAX actions from which I both need the responseText.
The problem: What happens when I execute my script is that the second action (refresh a part of the page) happens before the deletion is executed. The result of this is that when the deletion has been executed, the page is already updated, and the deleted message is still there.
The script What I now have is: function doAjax(url, element_id, img_url){ var ajaxObject = createAjaxObject(); ajaxObject.open('GET', url, true); ajaxObject.onreadystatechange = function(){ if(ajaxObject.readyState==4 && ajaxObject.status==200){ document.getElementById(element_id).innerHTML = ajaxObject.responseText; delete ajaxObject; .....
I need to send 15 requests to my server and get results, these results are queries to other sites. I then update my page with the results. I need to know if I am taking the correct approach, as things are working a bit slow, and i.e., seems the be as slow as a snail.
Here is my function for the first request Code: function one(){ var xmlHttpa=null; try{ xmlHttpa=new XMLHttpRequest(); } catch (e){ try { xmlHttpa=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ try { xmlHttpa=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; }}}
xmlHttpa.onreadystatechange=function(){ if(xmlHttpa.readyState==4){ document.getElementById('resulta').innerHTML = xmlHttpa.responseText; var el = document.getElementById('showMessagea'); el.parentNode.removeChild(el); applystyle(); }} xmlHttpa.open("GET","one.php",true); xmlHttpa.send(null); }
I then call this function and others from my page, one(); two(); etc. Am I correct in my approach?
I'm having problems performing a simple load(...) request to bring in HTML content from a partner Oracle system within the same domain. Our portal has a built-in SO connection will handles security for me transparently. However during the process it initiates a 302 temporarily moved response which seems to trip up an AJAX request, but doesn't trip up Firefox when accessed through the address bar. If I use the same URL in an IFRAME it's totally fine.
After tons of googling, searching the forums, and the bug tracker database I cannot find anyone who has experienced this problem. Before I open a bug ticket I'd like community feedback to help me see if I am doing anything wrong.
I have a element when click, it will trigger some other elements to be selected. and those elements will trigger elements in next level.
It is a three levels hierarchy so to speak. but each element will send an ajax request when selected. Those requests will become out of control especially when I repeatedly click the root element.
Can I queue those XHR request in a queue and send them one by one? or maybe add a delay before send so that they can collect their information into one batch request and send one request after that.
I have a page that relies on AJAX for content manipulation. Once a person selects a radio button, a request is made through $.getJSON() to get the replacement content. This works in all browsers. Once the new content is loaded, there are 3 more calls to $.getJSON() to change more content (on other tabs in jQuery UI). This works in all browsers except for IE.
I understand this is a Microsoft problem, and not a jQuery problem, but I am wondering if there is a way to manipulate the jQuery calls to get them to work in IE. I did try replacing $.getJSON with $.ajax, and even set async to false. None of those three methods worked in IE. I noticed the problem when my loading div was still displayed in IE. Using Firebug Lite, I saw that only one request was made, rather than four.
I am developing a fairly complicated application with a lot of JavaScript and making use of JQuery. The application repeatedly makes simultaneous GET requests.
I am looking for a way of assigning a unique token to each request when it is made, so that I can store information about that request and cache the request / response combo, when using $.get() (or potentially $.ajax() if required for the extra functionality).
So far I have not had any joy and after a while googling this am none the wiser. I have used similar functionality in Flex 3 with the AsyncToken object which can maintain data between HTTP request / response.
I'm working on a php/jQuery application, I want to display a loading image automatically every ajax request, without writing code for every ajax request. Is there anyway to do this.
When a pending ajax request is aborted in IE browsers there is a new global object called "jQuery" + timestamp, for example "jQuery16405272192696596443".
This happens in every IE from 6 to 9 but not in Chrome, Safari, FireFox in their current stable versions. I am a bit lost and found nothing similar. I created a little test page to determine whether it started due to some own code or just in this little piece.
I have a problem where if a form submission (set up to submit via AJAX) fails validation, the next time the form is submitted, it doubles the number of post requests - which is definitely not what I want to happen. I'm using the jQuery ValidationEngine plugin to submit forms and bind validation messages to my fields. This is my code below. I think my problem is that I need to unbind from the validationEngine plugin when the form fails, but I can't figure out how to do this.
I have a site which displays a selection of advert listings. We log the number of clicks each advert receives via ajax requests.The listings link to both internal pages on our site and external pages, hence the ajax - we cannot log the'clicks' by logging the requests on the destination pages as these are not all on our site for us to log. Also, I don't want to potentially get false positives e.g.from bookmarked pages - hence I am logging the actual clicks, not the requests on the destination.
All is OK in most browsers, but there is a problem with Safari (I am running Safari 4.0 on Windows XP running in Virtualbox OSE) but only where the destination is to open in the same window/tab (some listings go to a new window, some don't). I am logging clicks via an ajax request in the onclick event, which is working fine when the listing is to open in a new window, but it appears that when a new window is not to be opened, the ajax never gets sent.A have constructed the following minimal test case:
index.html
Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" [code].....
Note the line commented '****' in index.html which cancels the action of the link. When this is not commented out, the ajax request is sent correctly. Without it (the desired situation) the ajax request never gets sent. Its as if Safari saves up the ajax requests to do later, but never sends them as the new page cancels all such 'saved up' actions.I am using the Safari web developer tools, but I have also checked this test case by checking the Apache logs. Note that as a test case I don't pretend that it will work in IE, but it should work in standards compliant browsers and has been tested on Firefox 3.6.6 and Opera 10.6. The Apache logs show that logger.txt is being requested, unless it is already in the browser cache.Possible workarounds I've considered, but would prefer to avoid:
On the site in question the only such links that currently open in the same window are internal, so I do have the option of logging safari clicks by logging these requests as opposed to clicks and checking the http referer on the server side. As this is not a very flexible solution as it relies on these specific circumstances, also relies on all other links successfully making a new window, and furthermore relying on http referer could result in false negatives I'd rather find a solution within the javascript.I haven't checked whether an asynchonous request would work, but I don't wish to do this anyway just in case there is ever a server problem that prevents the response coming back (note that for these purposes the response is actually superfluous - we are sending the server a message but don't need anything back). I also want to avoid the delay in sending the user to the destination - there is no point having to wait for a response we don't need.Lastly, and my prefered workaround unless I can find anything better, is to make Safari (only) open all links in a new window anyway.
How would I seperate a text string such that it would appear on seperate lines ie. Initial Input: StrMsg = "This is an example of a string that will appear on seperate lines" "Hoping that this fully works, there will be no errors and all will be well" "This is the last line of text."
I'm trying to access a web application that allows single sign-on when it is passed the following HTTP Request headers:
AUTHENTIC: YES AUTHORIZED: YES USER: (user ID from active directory) Here is the code I have so far: $.ajax({
[Code].....
This script is within a blank webpage on my IIS server. Essentially, all the elements of the web app's UI get thrown within a div, but it doesn't seem to be loading the other parts of the page such as the <head>. I read on another thread that it is not a good idea to try and put everything within a div cause of the other html and head tags that already exist. Basically, what I want to do is access the webpage that has the above script and have it re-direct me to the Web Application's URL and adding in the custom HTTP Request headers.
Is it possible to load a separate page into a div tag using Javascript? or doo I need to resort to C# and ASP.NET? What I have is a main page with one content div I wanted to switch based on which heading item a user chooses. I know I will probably need to set the other pages to a fixed width which is fine.Might it be easier to just make my content into an image and load the image? There will be a few lines of text in the image.
Attempting to develop [URL] The site uses the onclick() to call a random link.All the links seem to be heavy on the page.Is it possible to store them elsewhere, like a separate webpage?
I have several forms on the same page that need to use the datepicker plug-in. I have datepicker working PERFECTLY on one form. Now I need to add other forms on the page. I haven't been able to get two datepickers working on the same page nor can I find any documentation on whether it's possible. What do I have to do to get two datepickers working in two separate forms on the same page?
outputting the results from a javascript search function onto a new page. Right now I am using a javascript search script on 7 pages and it works but the results overwrite the current page that the search was initiated from. I would like it to open a new page and print out into a specific area. Im not really proficient in js, tho I know enough to get by. since ive been grinding my gears at work trying to get this to display right. I'll post the code tomorrow morning when I get to work so you can see the function.