2015-12-12 5 views
5

Ich versuche eine Post-Anfrage mit dem folgenden Code zu senden. Die Anforderung wird jedoch als GET-Anforderung anstelle von POST ausgeführt. Wie behebe ich das?POST wird in GET konvertiert, wenn eine Anfrage über lokalen Apache gesendet wird

$.ajax({ 
    url: 'https://www.exampleurl.com', 
    method: 'POST', 
    headers: {"Access-Control-Allow-Origin": true}, 
    data: {url:'bla',call:"trans"} 
    dataType: 'jsonp', 
    success: function(data){ 
     console.log('succes: '+data); 
    } 
    }); 

Dies ist der Fehler, den ich XMLHttpRequest bin immer kann https://example.com nicht geladen werden. Die Antwort auf die Preflight-Anforderung übergibt die Zugriffskontrollprüfung nicht: Auf der angeforderten Ressource ist kein Header "Access-Control-Allow-Origin" vorhanden. Ursprung 'http://localhost' ist daher nicht erlaubt. Die Antwort hatte HTTP-Statuscode 401.

Wenn der Header entfernt Access-Control-Allow-Origin, erhalte ich einen 404-Fehler

+0

Ich benutze einen localhost .. – gates

+0

Weil Kreuzursprung im Browser nicht erlaubt ist .. jsonp ist eine zufällige Sache, da json nicht funktioniert – gates

+0

Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http: //chat.stackoverflow .com/rooms/97707/Diskussion-zwischen-Gates-und-Jaromanda-X). – gates

Antwort

0

Sie haben keine Parameter in url Attribut zu übergeben, wenn Sie senden möchten POST bitten Sie data Attribut stattdessen verwenden sollten, werfen Sie einen Blick auf jQuery.ajax():

$.ajax({ 
    url: 'https://www.exampleurl.com', 
    method: 'POST', 
    data: {q:1, q2:2}, 
    headers: {"Access-Control-Allow-Origin": true}, 
    dataType: 'jsonp', 
    success: function(data){ 
     console.log('succes: '+data); 
    } 
}); 

Hoffnung, das hilft.

+0

das macht keinen Unterschied mit dataType: jsonp –

2

Ich glaube nicht, Sie können eine POST-Methode mit Jsonp Anfrage verwenden. Jsonp-Callbacks nur für mit GET-Methode. Schauen Sie sich link an.

+0

POST mit jsonp macht eigentlich keinen Sinn, da der Mechanismus für jsonp einfach ein "