NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: patrick de laet on June 22, 2011, 06:07:46 AM
-
JQuery Form plugin
It works in FireFox but in Google Chrome my request keeps pending and I don't get any respone.
It is just a Netwebpage procedure that returns an XML response with "do sendpacket".
The XML is correct, as I can see in FireFox.
I tried async: false and async: true . . . still not working in Chrome.
$("#form1").ajaxForm({
url: 'doregistreren',
type: 'get',
data: '{}',
async: false,
target: '#message1',
dataType: 'xml',
replaceTarget: false,
success: showResponse,
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('status:' + XMLHttpRequest.status);
alert('responseText:' + XMLHttpRequest.responseText);
}
});
regards
Patrick De Laet
-
It is not only Chrome - also Safari, IE and Opera doesn't work.
I've cleaned my browser's cache and now all browsers work.
What I've also found is that from time to time my SESSIONID cookie isn't send from the browser to my NetTalk server.
And it is in these cases that my AJAX requests don't work.
Anybody an idea?
POST /doRegistreren HTTP/1.1
Host: 127.0.0.1:88
Connection: keep-alive
Referer: http://127.0.0.1:88/nl/registreren
Content-Length: 354
Origin: http://127.0.0.1:88
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30
Content-Type: application/xxxx
Accept: application/json
Accept-Encoding: gzip,deflate,sdch
Accept-Language: nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: SESSIONID=841088630
-
If it doesn't send the session value, then it's definitely not gonna get a response. The server will not allow a Session to be created via an Ajax call, and it certainly won't respond to it. This is for security reasons.
Where I've used the jQuery form plugin though, I've also had to add the following parameter -
data: {_xRequestedWithXMLHttpRequest_: true}
In some cases the jQuery form doesn't send the XMLHttpRequest header, so this helps out with that.
The missing data would be guess as to what is wrong - I'm guessing your clearing cache simply deleted the cookies, and that's taking us down the wrong path.
cheers
Bruce
-
I've added $.ajaxSetup({cache: false});
And now it seems to work in all browsers.
regards
Patrick De Laet