338 Stimmen

jQuery $.ajax(), $.post senden "OPTIONS" als REQUEST_METHOD in Firefox

Ich habe Probleme mit dem, was ich dachte, war eine relativ einfache jQuery-Plugin ...

Das Plugin sollte Daten von einem PHP-Skript über Ajax abrufen, um Optionen zu einem <select> . Die Ajax-Anfrage ist ziemlich allgemein gehalten:

$.ajax({
  url: o.url,
  type: 'post',
  contentType: "application/x-www-form-urlencoded",
  data: '{"method":"getStates", "program":"EXPLORE"}',
  success: function (data, status) {
    console.log("Success!!");
    console.log(data);
    console.log(status);
  },
  error: function (xhr, desc, err) {
    console.log(xhr);
    console.log("Desc: " + desc + "\nErr:" + err);
  }
});

In Safari scheint dies problemlos zu funktionieren. In Firefox 3.5 wird die REQUEST_TYPE auf dem Server ist immer 'OPTIONS', und die $_POST-Daten erscheinen nicht. Der Apache protokolliert die Anfrage als Typ "OPTIONS":

::1 - - [08/Jul/2009:11:43:27 -0500] "OPTIONS sitecodes.php HTTP/1.1" 200 46

Warum funktioniert dieser Ajax-Aufruf in Safari, aber nicht in Firefox, und wie behebe ich ihn für Firefox?

Response Headers
Date: Wed, 08 Jul 2009 21:22:17 GMT
Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
X-Powered-By: PHP/5.2.6
Content-Length  46
Keep-Alive  timeout=15, max=100
Connection  Keep-Alive
Content-Type    text/html

Request Headers
Host    orderform:8888
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,\*;q=0.7
Keep-Alive  300
Connection  keep-alive
Origin  http://ux.inetu.act.org
Access-Control-Request-Method   POST
Access-Control-Request-Headers  x-requested-with

Hier ist ein Bild der Firebug-Ausgabe:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X