Ciao Ho implementato una richiesta POST Ajax per chiamare il servizio web. Restituisce sempre 200 OK ma esegue un evento fallito Ho provato molte cose ma non riesco a capire dove sto sbagliando. Sto aggiungendo il mio codice qui. Fiddler mostra il contenuto della risposta ma Ajax non sta eseguendo l'evento di successo.Jquery AJAX POST chiamata restituita 200 stato OK ma errore
<!DOCTYPE html>
<html><head>
<script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$.ajax({
type: "POST",
url: url,
data: values,
dataType: 'json',
cache: false,
success: function (result) {
alert("success:"+result);
},
error:function (error) {
alert("error"+error);
}
});
</script>
</body>
</html>
dataType ho provato: 'testo' .... risposta dal server sia in perfette formato JSON
Richiesta dati JSON:
{
"search": {
"params_attributes": {
"adults": "1",
"children": "0",
"depart_date": "2013-07-10",
"destination_name": "OMS",
"direct": "0",
"infants": "0",
"origin_name": "KUL",
"range": "0",
"trip_class": "0"
}
},
"signature": "XXXXXXXX",
"marker": "XXX"
}
risposta JSON dati:
{
"search_id":"66",
"metadata" : {},
"tickets" : [
{
"native_prices":{"7":"5500.0", "6":"5680.0", "3":"5657.0"},
"order_urls":{"7":"1","6":"557","3":"906"},
"direct_flights":[
{
"number":"1837",
"airline":"FV",
"departure":"1294037100",
"arrival":"1294041900",
"duration":"80",
"delay":"0",
"origin":"DME",
"destination":"LED",
"aircraft":"Airbus A319"
}
],
"return_flights":[
{
"number":"1858",
"airline":"FV",
"departure":"1295503800",
"arrival":"1295508600",
"duration":"80",
"delay":"0",
"origin":"LED",
"destination":"DME",
"aircraft":"Airbus A320"
}
]
}
],
"airlines": {
"AB": {
"alliance_name": null,
"average_rate": 3.84,
"deeplink_id": 18,
"homepage_id": "4ec0ff7b9f1c2760af0049d7",
"id": 35,
"name": "airberlin",
"rates": 377
},
"AF": {
"alliance_name": "SkyTeam",
"average_rate": 2.89,
"id": 48,
"name": "Air France",
"rates": 292
}
},
"airports":{
"ALA": {
"average_rate": 3.66,
"city": "\u0410\u043b\u043c\u0430\u0442\u044b",
"country": "\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",
"name": "\u0410\u043b\u043c\u0430\u0442\u044b",
"rates": 60,
"time_zone": "Asia/Almaty"
},
"AMM": {
"average_rate": 3.42,
"city": "\u0410\u043c\u043c\u0430\u043d",
"country": "\u0418\u043e\u0440\u0434\u0430\u043d\u0438\u044f",
"name": "Queen Alia International",
"rates": 5,
"time_zone": "Asia/Amman"
}
},
"currency_rates":{"eur":"41.3564", "uah":"3.72911"},
"gates_info": [
{
"average_rate": 4.34,
"currency_code": "rub",
"id": 1,
"is_airline": false,
"label": "Nabortu",
"mobile_version": false,
"payment_methods": [
"bank",
"yandex_money",
"web_money",
"terminal",
"card",
"svyaznoy",
"euroset"
],
"rates": 336
},
{
"average_rate": 4.34,
"currency_code": "rub",
"id": 2,
"is_airline": false,
"label": "Davs",
"mobile_version": false,
"payment_methods": [
"cash",
"bank",
"yandex_money",
"web_money",
"terminal",
"card",
"exp",
"euroset"
],
"rates": 416
}
]
}
Errore Ajax: {"readyState": 0, "responseText": "", "stato": 0, "statusText": "errore"}
sto aggiungendo le immagini, che è tratto da Firebug vai al tinygrab url per visualizzare Screenshot:
Headers - grab.by/on5Q
Post - grab.by/on5U
Response - grab.by/on5W
Coockies - grab.by/on5Y
Potrebbe pubblicare il risultato JSON? A volte il problema si trova sul formato na dei vari tipi di virgolette. –
Un po 'più di contesto sarebbe necessario o le risposte saranno solo ipotesi lavoro? Informazioni per l'intercettazione (per me): risultato Json, oggetto/messaggio di errore, risultato quando si imposta 'dataType'to' text' questo potrebbe aiutare. –
Ho controllato i dati, buit posso dedurre, che questo problema potrebbe essere dovuto alla politica di crossdomain del servizio. Questo è l'unico segnale che posso ricavare da questi dati. hai provato a scaricare il clientaccesspolicy.xml per vedere cosa dice? È un po 'difficile da quando hai detto di vedere il risultato in violinista, ma non lo sai mai. Spero che questo puntatore potrebbe aiutare. –