jQuery Ajax isteği döner hata ve durum 0

1 Cevap php

Ben sunucuya Ajax isteği yapmak için bu sözde sınıfı kullanın:

function RequestManager(url, params, success, error){
    //Save this Ajax configuration
    this._ajaxCall = null;
    this._url= url;
    this._type = params.type;
    this._success = function(){
        alert("ok");
    };
    this._error = function(){
        alert("ko");
    };
}

RequestManager.prototype = {
    require : function(text){
        var self = this;
        this._ajaxCall = $.ajax({
            url: this._url,
            type: this._type,
            data: text,
            success: function(xmlResponse){
                var responseArray = [];
                var response = _extractElements(xmlResponse, arrayResponse);
                self._success(response);
            },
            error: self._error,
            complete : function(xhr, statusText){
                alert(xhr.status);
                return null;
            }
        });
    }

Bu yüklenecektir PHP:

<?php
    header('Content-type: text/xml');

    //Do something
    $done = true;

    $response = buildXML($done);
    $xmlString = $response->saveXML();
    echo $xmlString;

    function buildXML ($done){
        $response = new SimpleXMLElement("<response></response>");
        if($done){
            $response->addChild('outcome','ok');
        }
        else {
            $response->addChild('outcome', 'ko');
        }
        return $response;
    }

Ben yeni bir nesne örneğini, ve ben bir istek yüklemek için kullandığınız zaman, bu her zaman bana hata dönmek ve durum kodu 0 olduğunu. Sunucu doğru bir XML belgesi üretir. Neden doğru bir 200 kodu geri alamıyorum?

1 Cevap

Bu require için ikinci çağrı olursa 0 bir durum koduyla çağrılan geri arama abort() sonuçlarına çağrı. Daha sonra için doğru sonuç almak gerekir, çünkü bu İkinci istek.

JQuery 1.4 sizin success geri yarım bıraktığı bir istekten sonra adlandırılan bir hata da var. my answer to Request periodically coming back empty under race conditions bakın.

Bu konuyla ilgisiz, ve bir lider çizgi olmadan hem başvurulan gibi görünüyor kodunuzu değişkenler (timer ve ajaxCall) vardır.