Note that there are some explanatory texts on larger screens.

plurals
  1. POAnother JQuery encoding problem, on IE
    text
    copied!<p>I'm coding an italian website where I need to validate some input data with an xhr call. My code for the ajax request's like this (I'm using JQuery 1.3.2):</p> <pre><code> $.ajaxSetup({ type: "POST", timeout: 10000, contentType: "application/x-www-form-urlencoded; charset=iso-8859-1" }); $.ajax({ url: "ajaxvalidate.do", data: {field:controlInfo.field,value:controlInfo.fieldValue}, dataType: "json", complete: function() { // }, success: function(msg) { handleAsyncMsg(controlInfo, msg, closureOnError); }, error: function(xhr, status, e) { showException(controlInfo.id, status); } }); </code></pre> <p>On the backend I have a java struts action to handle the xhr. I need to use the encoding ISO-8859-1 in the page to ensure the data (specially accented characters) are sent correctly in the synchronous submit.</p> <p>All's working like a charm in Firefox but when I have to handle an async post from IE 7 with accented characters I have a problem: I always receive invalid characters (utf-8 maybe?). EG I type in the form àààààààà and I get in my request this value: à à à à à à à Ã. Since the request charset's correctly set to ISO-8859-1 I can't understand why the server's still not parsing the form value correctly.</p> <p>This is a log sample with all the request headers and the error (the server's an old Bea Weblogic 8.1):</p> <pre><code>Encoding: ISO-8859-1 Header: x-requested-with - Value: XMLHttpRequest Header: Accept-Language - Value: it Header: Referer - Value: https://10.172.14.36:7002/reg-docroot/conv/starttim.do Header: Accept - Value: application/json, text/javascript Header: Content-Type - Value: application/x-www-form-urlencoded; charset=iso-8859-1 Header: UA-CPU - Value: x86 Header: Accept-Encoding - Value: gzip, deflate Header: User-Agent - Value: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Header: Host - Value: 10.172.14.36:7002 Header: Content-Length - Value: 65 Header: Connection - Value: Keep-Alive Header: Cache-Control - Value: no-cache Header: Cookie - Value: JSESSIONID=JQJlNpVC86yTZJbcpt54wzt82TnkYmWYC5VLL2snt5Z8GTsQ1pLQ!1967684811 Attribute: javax.net.ssl.cipher_suite - Value: SSL_RSA_WITH_RC4_128_MD5 Attribute: javax.servlet.request.key-size - Value: 128 Attribute: javax.servlet.request.cipher_suite - Value: TLS_RSA_WITH_RC4_128_MD5 Attribute: javax.servlet.request.key_size - Value: 128 Attribute: weblogic.servlet.network_channel.port - Value: 7001 Attribute: weblogic.servlet.network_channel.sslport - Value: 7002 Attribute: org.apache.struts.action.MESSAGE - Value: org.apache.struts.util.PropertyMessageResources@4a97dbd Attribute: org.apache.struts.globals.ORIGINAL_URI_KEY - Value: /conv/ajaxvalidate.do Attribute: errors - Value: org.apache.struts.util.PropertyMessageResources@4a97e4d Attribute: org.apache.struts.action.MODULE - Value: org.apache.struts.config.impl.ModuleConfigImpl@4aa2ff8 Attribute: weblogic.servlet.request.sslsession - Value: javax.net.ssl.impl.SSLSessionImpl@42157c5 field: nome - value: àààààààà - action: /endtim </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload