2012-10-28 128 views
1

下面的JavaScript代碼:Ajax的HTTP請求的URL不正確

<script type="text/javascript" charset="utf-8">  
    function goForLogin() { 
     var xmlhttp; 
     xmlhttp=new XMLHttpRequest(); 
     xmlhttp.open("POST","/account/login",true); 
     xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
     xmlhttp.send("email=test%40test.com&password=1"); 
      } 
</script> 

我在模塊測試/指數運行這段代碼 - 我要!

當我用tampadata登錄請求時,網址是http://dev.server.com/test/account/login。我怎樣才能擺脫test在網址?兩次不同的模塊。這是不正確的!

當我在xmlhttp.open中執行...「dev.server.com/account/login/」輸出將是:http://dev.server.com/test/dev.server.com/account/login/

+2

你嘗試通過'http:// dev.server.com /帳號/登錄/'?我只是想知道如果絕對路徑可行 – Ian

+0

愚蠢的,就是這樣。有時我不明白,但非常感謝! – craphunter

+0

嗯,我不認爲這是一個解決方案!我們現在知道它可行,但如果你不能產生絕對路徑會發生什麼?人們依賴於相對路徑,都以「/」開頭而不是,哪個**應該產生不同的結果。在我看來,使用「/ account/login」應該產生「dev.server.com/account/login」,而使用「account/login」應該產生「dev.server.com/test/account/login」 - 因爲網址應該被解析的方式。我認爲這兩者都屬於'

''action'屬性和'''href'屬性,所以爲什麼不在這裏? – Ian

回答

0

嘗試指定一個完整的URL爲您的POST請求的目標:

http://dev.server.com/account/login