200/'parsererror' mit jquery, ajax-post an ein https

Ich gelesen habe, viele andere Fragen über dieses argument, aber keiner konnte mein problem lösen.
Ich rufe eine php-Seite auf diese Weise.

$.ajax({
        url: 'https://mydomain/page.php',
        type: "POST",
        data: { 
            "arg1": arg1,
            "arg2": arg2
        },
        success: function(data, textStatus, xhr) {
            //do stuff
        },
        error: function(xhr, textStatus) {
            alert("doLogin\n- readyState: "+xhr.readyState+"\n- status: "+xhr.status);
        }
    });

Nun, wenn ich dieses Zeug auf dem gleichen server wie das php funktioniert es einwandfrei. Probleme beginnen, wenn ich starten Sie es von localhost.
In diesem Fall erhalte ich die folgende in der xhr:
readyState=0, status=0, statusText="error".
Lesen Sie einige Antworten zu dem Thema scheint es zu sein, denn der eine same-origin-restriction, also habe ich ein paar Parameter zu dem Aufruf. vor allem:

   dataType:"jsonp",
   crossDomain: true,

Anscheinend funktioniert dies besser, denn jetzt erhalte ich readyState=4, status=200, statusText="success". Das Problem ist, textStatus="parsererror". Ich habe auch versucht andere Dinge als jsonpCallback, cache, async, jsonp in vielen Konfigurationen mit kein Glück.

Nun bekomme ich keine Daten zurück, die Ursache dieser Aufruf wird nur geben Sie mir ein cookie, das ich brauche.

Meine Frage ist: mache ich die Dinge richtig, für den Anfang? In beiden Fällen, was ist der Grund für einen derartigen Fehler? Bedeutet die Tatsache, dass nenne ich eine 'https'/POST etwas ändern, eher als eine einfache http/GET?

Zweite Frage ist, später werde ich noch zu nennen einige webservices über soap-Anfragen, die Daten zurückgeben im xml-Format. Mit dieser Technik arbeiten (vorausgesetzt die jQuery-doc ist in Ordnung und ich kann schreiben dataType:"jsonp xml" haben es konvertiert on the fly (und vorausgesetzt, es ist die richtige Technik als auch))? Ich nehme an, es wird nicht, wie jsonp erwartet, dass etwas auf der Linie der callbackFN({...}) eher als eine xml, richtig?

Wenn all dies korrekt ist, was wäre die richtige Vorgehensweise zu sein? Ich kann nicht berühren Sie den server, damit bin ich beschränkt auf client-Seite.

InformationsquelleAutor Stephan | 2012-04-19
Schreibe einen Kommentar