基本上標題說什麼,我想從xhr獲取URL和HTTP動詞。這可能嗎?從XHR獲取方法和URL
回答
不是天生的,我很害怕。在原型實現中,您可以編寫自己的原型:
XMLHttpRequest.prototype.__oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.verb = "";
XMLHttpRequest.prototype.url = "";
XMLHttpRequest.prototype.open = function (verb, url, async)
{
this.verb = verb;
this.url = url;
this.__oldOpen.call(this, verb, url, async);
}
不要指望它在IE7和更老的版本中工作。
我想你可以通過完全重新創建
XMLHttpRequest
對象做到這一點,但它會佔用大量的工作來獲取正確的事:
var oldXHR = XMLHttpRequest;
function XMLHttpRequest()
{
var realXHR = new oldXHR();
this.onreadystatechange = function() {}
this.open = function (verb, url, async)
{
this.verb = verb;
this.url = url;
realXHR.open(verb, url, async);
{
this.send = function() { realXHR.send(); }
// all other properties and methods...
}
當然,你必須去的努力正確綁定onreadystatechange
並設置status
等
很好的解決方法(+1),我需要它是交叉瀏覽器,雖然... –
@Pablo:你可能重新創建整個XMLHttpRequest對象來覆蓋它。查看我的更新。 –
getRequestHeader
以備將來考慮。
@nvl:這樣的函數會返回動詞或URL嗎?我知道'host'是一個請求標題,但動詞和路徑在所有已命名標題(來自Fiddler:'GET /fiddler2/updatecheck.asp?isBeta=False HTTP/1.1')之前成爲一行。 –
@Andy:請參考url('當前')。這將在未來的修訂中考慮。所以規範還沒有定義。它可能包含請求頭中的所有信息。 –
的確如此,但我假設(相當安全,我認爲)一個標記爲'getRequestHeader()'的函數將採用單個參數作爲頭的名稱(很像'getResponseHeader()')。 –
- 1. 從xhr對象獲取請求url
- 2. 從url獲取控制器和方法?
- 3. Grails從xhr獲取文件
- 4. 從XHR獲取請求頭
- 5. XHR在onreadystatechange中獲取請求URL
- 6. 從方法獲取圖片url
- 7. 重定向後從XHR對象獲取最終url
- 8. Spring MVC獲取方法URL
- 9. Jersey:獲取方法的URL
- 10. 無法從URL獲取UIImage
- 11. HttpServletRequest無法獲取xhr請求參數
- 12. 從XHR請求獲取BLOB數據
- 13. 如何從xhr獲取標題?
- 14. $ _REQUEST ['url]爲空。如何從$ _REQUEST ['url']獲取控制器和方法? Bitnami WAMP
- 15. 從form方法中取代url參數獲取
- 16. 無法使用get方法從url獲取加號符號
- 17. 獲取和URL
- 18. Dojo xhr獲取問題?
- 19. codeigniter從父方法獲取方法名
- 20. 獲取URL重定向地方從
- 21. XHR的JavaScript PUT方法
- 22. 從方法獲取變量
- 23. 從接口方法和類方法獲取屬性
- 24. 從InputStream獲取URL
- 25. 從url獲取JSON
- 26. 從URLLoader獲取URL?
- 27. 從Intent.ACTION_VIEW獲取URL
- 28. 從WebView獲取URL
- 29. 從URL獲取JSON
- 30. 從IFrame獲取URL?
你究竟想要什麼? –
給定一個XHR對象,從它獲取HTTP動詞和URL –