我在Firefox上找到了SuperAgent(http://visionmedia.github.com/superagent/)的問題來源。不知道SuperAgent是否在AJAX調用中執行它,或者如果FireFox觸發它。如何防止SuperAgent AJAX調用OPTIONS?
從本質上講,我每次做一個AJAX調用一個OPTIONS方法的時間被URL上的實際AJAX調用之前被解僱。很煩人,因爲服務器目前不支持OPTIONS。我怎樣才能打電話,而不會廢話和重新編碼服務器?
謝謝
我在Firefox上找到了SuperAgent(http://visionmedia.github.com/superagent/)的問題來源。不知道SuperAgent是否在AJAX調用中執行它,或者如果FireFox觸發它。如何防止SuperAgent AJAX調用OPTIONS?
從本質上講,我每次做一個AJAX調用一個OPTIONS方法的時間被URL上的實際AJAX調用之前被解僱。很煩人,因爲服務器目前不支持OPTIONS。我怎樣才能打電話,而不會廢話和重新編碼服務器?
謝謝
好的發現了一些更多的細節。幸運的是,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標準。
禁用網絡secuty在phantomjs還幫助解決了這個問題(--web-security=no)。因爲我沒有訪問API服務器來更改OPTION方法。