I remember one additional thing. IE8 tends to fall apart if it is unable to 
understand the charset defined in the Content-Type. Make sure you define a 
valid one, e.g. "utf-8".

Regards,
Dirk

Am Montag, 7. Januar 2013 17:28:09 UTC+1 schrieb Crenshinibon:
>
> Hi,
>
> never heard of the AXON module. Like I said, the example above is from a 
> current project which contacts a Java (actually: Xtend) backend. There, I 
> use the "simpleframework" as a "server". No node.js. And I think it has 
> nothing to do with it.
>
> I did the same with node.js and can't remember doing anything very special 
> with it. To get cross site scripting working with IE8 (our corporate 
> default web server, by the way) you have to stick to the following things, 
> I am not sure if all are mandatory, though:
>
>    - The server has to always respond with the 
>    ACCESS_CONTROL_ALLOW_HEADERS / ORIGIN / METHODS headers properly defined. 
>    The IE8 doesn't send a OPTIONS preliminary request.
>    - Much depends on the dataType of the request. If you use "script" or 
>    "jsonp" you get through without any complaint. But jQuery always uses GET 
>    in this cases.
>    - If you want or must use POST, DELETE, PUT, etc. methods. You have to 
>    set the dataType to "json". But than you have to define: 
>    "jQuery.support.cors=true" somewhere. And your clients get the annoying 
>    message I mentioned above. But only once per web page.
>
> Here is some working server code, using proper HTTP methods and the 
> datatype "json":
> https://gist.github.com/4476236
>
> and the client:
> https://gist.github.com/4476269
>
> and the HTML file pulling everything together:
> https://gist.github.com/4476305
>
> (IE8, jQuery 1.8.3, json2.js)
>
> Regards
> Dirk
>
> Am Montag, 7. Januar 2013 02:39:43 UTC+1 schrieb 曾漢煒:
>>
>> Hello Crenshinibon
>>
>> I try to rewrite the node.js to use the less module than i found my ajax 
>> can work on ie9 
>>
>> but no I found another problem is the module named "AXON" the 
>> message-oriented 
>> socket library
>>
>> our team use this to push and pull the data, I think maybe this is the 
>> problem because i just use express module it can work successfully
>>
>> so do you have use the AXON module and should i setting anything to make 
>> sure the socket can get the ajax post data from ie9 ?
>>
>> Crenshinibon於 2013年1月4日星期五UTC+8下午7時59分01秒寫道:
>>>
>>> Hello,
>>>
>>> I actually had/have the same problem. It is not node.js at the backend, 
>>> but getting the f***** IE 8 to send an ajax request to a different target 
>>> is a mess, regardless of the receiver.
>>>
>>> Your response looks good, quite similar to mine. My jQuery.ajax looks 
>>> like this:
>>>
>>> jQuery.ajax({
>>>
>>>       url: planview_bridge_host + 'order_number',
>>>
>>>       dataType: 'json',
>>>
>>>       data: "{\"code\": \"" + id + "\", \"order_number\": \"" + order + 
>>> "\"}",
>>>
>>>       headers: {
>>>
>>>         x_auth_user: 'dirk',
>>>
>>>         x_auth_password: 'password',
>>>
>>>         x_method: 'DELETE'
>>>
>>>       },
>>>
>>>       contentType: 'application/json; charset=UTF-8',
>>>
>>>       type: 'POST',
>>>
>>>       success: function(data) {
>>>
>>>         if (data) {
>>>
>>>           setToNein();
>>>
>>>           return updateOrderNumber('undef');
>>>
>>>         } else {
>>>
>>>             return alert('Falsche Daten empfangen: ' + 
>>> JSON.stringify(data));
>>>
>>>         }
>>>
>>>       },
>>>
>>>       error: function(jqXHR, textStatus, e) {
>>>           alert(JSON.stringify(jqXHR));
>>>           setToJa();
>>>
>>>           return alert('Verbindungsproblem: ' + JSON.stringify(e));
>>>       }
>>>     });
>>> (The JSON object is not present in IE8 by default, I added the json2.js 
>>> by Crockford to the page)
>>>
>>> Actually I added: "jQuery.support.cors = true" in my client script. And 
>>> read somewhere that some browsers are unable to send requests with methods 
>>> other than POST and GET. So I reverted to POST everything and send the 
>>> method really meant as a custom header field ("x_method").
>>>
>>> It works despite the fact that when a user for the first time tries to 
>>> send a request, he is asked if he truly want to send data to a different 
>>> host.
>>>
>>> Hope it helps a little.
>>>
>>> Regards
>>> Dirk
>>>
>>> Am Freitag, 4. Januar 2013 03:48:43 UTC+1 schrieb [email protected]:
>>>>
>>>> Hello Jacob
>>>>
>>>> we have setting the response header like this
>>>>
>>>> app.all('*', function(req, res, next) {
>>>>     res.header("Access-Control-Allow-Origin", "*");
>>>>     res.header("Access-Control-Allow-Headers", "X-Requested-With");
>>>>     
>>>> res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
>>>>     res.header("X-Powered-By",' 3.2.1')
>>>>     res.header("Content-Type", "application/json;charset=utf-8");
>>>>     if(req.method==='OPTIONS')
>>>>       res.send(200);
>>>>     else
>>>>       next();
>>>> });
>>>>
>>>> so is there anything we have to setting on node.js server?
>>>>
>>>> and how could i check the second request can be received successfully? 
>>>>
>>>> or did you have any ie ajax success sample can show me?  because it is 
>>>> really strange 
>>>>
>>>> thanks a lot Jacob~
>>>>
>>>>
>>>> Jacob於 2013年1月4日星期五UTC+8上午1時51分14秒寫道:
>>>>>
>>>>> When doing a cross domain POST, the browser usually send two HTTP 
>>>>> requests. The first with HTTP method OPTIONS before sending the 
>>>>> actual request. Your server has to flag the request as okay before the 
>>>>> browser proceeds.
>>>>>
>>>>> Your server might be receiving the options request only, which would 
>>>>> have no body.
>>>>>
>>>>>
>>>>> On Thu, Jan 3, 2013 at 8:03 AM, Tiger Nassau Inc <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> You may have cors (cross origin) problems - its kind if tricky but 
>>>>>> you probsbly need a header to allow - search on this
>>>>>>
>>>>>> Sent from my LG Mobile
>>>>>>
>>>>>> [email protected] wrote:
>>>>>>
>>>>>> >hello
>>>>>> >
>>>>>> >if we use chrome or firefox we can't successfully get the jquery 
>>>>>> ajax post
>>>>>> >data,
>>>>>> >
>>>>>> >but we found if we use ie9 or ie8 to send POST data by jquery ajax ,
>>>>>> >node.js just receive empty body {}
>>>>>> >
>>>>>> >even we change the header like content-type to application/json or
>>>>>> >text/plain and Accept value it still didn't work
>>>>>> >
>>>>>> >so is here anyone have the same problem or have any solution , 
>>>>>> please help
>>>>>> >me  thanks a lot
>>>>>> >
>>>>>> >i paste my code below
>>>>>> >
>>>>>> >-------------------------------------------
>>>>>> >
>>>>>> >if(jQuery.browser.msie && window.XDomainRequest) {
>>>>>> >
>>>>>> >                       //var 
>>>>>> data=JSON.stringify({'property_id':'50da64f65d396b1e48000001','name':'222','start_date':'2012/11/11'});
>>>>>> >               var 
>>>>>> data='property_id=50da64f65d396b1e48000001&id=222';
>>>>>> >
>>>>>> >               var xdr = new XDomainRequest();
>>>>>> >               xdr.contentType= 'text/plain';
>>>>>> >
>>>>>> >               xdr.onload = function (e) {
>>>>>> >            var data = $.parseJSON(xdr.responseText);
>>>>>> >            if (data == null || typeof (data) == 'undefined') {
>>>>>> >                alert(data)
>>>>>> >            }
>>>>>> >            //success
>>>>>> >               };
>>>>>> >                        xdr.onerror = function (e) {
>>>>>> >                //alert(e);
>>>>>> >               }
>>>>>> >
>>>>>> >                       xdr.open("POST", url);
>>>>>> >                       xdr.send(data);
>>>>>> >
>>>>>> >                        }
>>>>>> >                        else
>>>>>> >                        {
>>>>>> >                               
>>>>>> $.post(url,{'property_id':'111','name':'222','start_date':'2012/11/11'}, 
>>>>>> function(data) {
>>>>>> >                           alert(data)
>>>>>> >                         });
>>>>>> >                       }
>>>>>> >
>>>>>> >
>>>>>> >---------------------------------------------------
>>>>>> >
>>>>>> >
>>>>>> >$.ajax({
>>>>>> >       beforeSend: function(xhrObj){
>>>>>> >               
>>>>>>  xhrObj.setRequestHeader("Content-Type","application/json");
>>>>>> >                xhrObj.setRequestHeader("Accept","application/json");
>>>>>> >        }
>>>>>> >  url: url,
>>>>>> >  type: "POST",
>>>>>> >  data: JSON.stringify({'property_id' : 'test'}),
>>>>>> >  headers : {
>>>>>> >                'Accept' : 'application/json',
>>>>>> >                'Content-Type' : 'application/x-www-form-urlencoded'
>>>>>> >            },
>>>>>> >            dataType: "json",
>>>>>> >  success: function(data){
>>>>>> >     alert(data);
>>>>>> >  }
>>>>>> >});
>>>>>> >
>>>>>> >--
>>>>>> >Job Board: http://jobs.nodejs.org/
>>>>>> >Posting guidelines: 
>>>>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>>>>> >You received this message because you are subscribed to the Google
>>>>>> >Groups "nodejs" group.
>>>>>> >To post to this group, send email to [email protected]
>>>>>> >To unsubscribe from this group, send email to
>>>>>> >[email protected]
>>>>>> >For more options, visit this group at
>>>>>> >http://groups.google.com/group/nodejs?hl=en?hl=en
>>>>>>
>>>>>> --
>>>>>> Job Board: http://jobs.nodejs.org/
>>>>>> Posting guidelines: 
>>>>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "nodejs" group.
>>>>>> To post to this group, send email to [email protected]
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>>>>
>>>>>
>>>>>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to