2012-06-29 41 views
5

我在Firefox上找到了SuperAgent(http://visionmedia.github.com/superagent/)的問題來源。不知道SuperAgent是否在AJAX調用中執行它,或者如果FireFox觸發它。如何防止SuperAgent AJAX調用OPTIONS?

從本質上講,我每次做一個AJAX調用一個OPTIONS方法的時間被URL上的實際AJAX調用之前被解僱。很煩人,因爲服務器目前不支持OPTIONS。我怎樣才能打電話,而不會廢話和重新編碼服務器?

謝謝

回答

5

好的發現了一些更多的細節。幸運的是,Safari上的測試讓我更深入地瞭解實際發生的事情,並將我的知識運用到了這裏。

這似乎是瀏覽器的呼籲作出實際AJAX調用之前OPTIONS方法標準。似乎有點霸道。

所以避過它,我只是增加了一個包羅萬象的在我的反向代理服務器來處理每個OPTIONS通話。你可以看到這個問題下面的代碼:

Play! 2.0 easy fix to OPTIONS response for router catch-all?

如果你想了解爲何瀏覽器這樣讀了,在這裏看到:

Why am I getting an OPTIONS request instead of a GET request?

OPTIONS距離CORS標準。

0

禁用網絡secuty在phantomjs還幫助解決了這個問題(--web-security=no)。因爲我沒有訪問API服務器來更改OPTION方法。