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