2011-06-30 30 views
0

我使用jQuery提交表單。現在我需要將表單信息發送到外部服務器。下面是我的代碼提交表單到另一臺服務器的一部分。它適用於除IE以外的所有瀏覽器,這會導致訪問被拒絕錯誤。訪問被拒絕IE 8中的jquery錯誤

$.ajax({ 
    url:"https://www.thewiseagent.com:443/secure/webcontactAllFields.asp", 
    type:'POST', 
    data:"ID=" + $ID + "&Source=" + $Source + "&notifyCc=" + $notifyCc + "&notifyBcc=" + $notifyBcc + "&noMail=" + $noMail + "&CFirst=" + $first + "&CLast=" + $last + "&Phone=" + $Phone + "&Fax=" + $Fax + "&CEmail=" + $CEmail + "&Message=" + $message, 
    success: function() { 
    } 
}); 

任何幫助?

+0

如果您在發佈表單;你應該定義使用'$(「#myForm」)。serialize()'(http://api.jquery.com/serialize/) – Mustafa

+0

你怎麼知道它在其他瀏覽器中工作?我懷疑它們在其中的任何一個都不起作用,他們只是更好地壓制錯誤。 –

+0

@ Shadow精靈! – kasdega

回答

3

您無法對其他域進行AJAX調用。看到我的答案在這裏:jQuery ajax GET returns 405 Method Not Allowed

這就是說,如果它真的在其他瀏覽器中工作,那麼我假設你發佈到同一個域。然後你必須看看返回的內容。應該沒有理由從IE獲得405而不是FF。

我懷疑這是因爲javascript安全性限制而無法與其他瀏覽器一起使用。

+2

這不是*嚴格*真實的,這裏有兩套限制,它取決於你在做什麼。 A)你可以發佈嗎?和B)你能看到結果嗎?它取決於瀏覽器,域和協議,但有些可以讓你做一個跨域,儘管沒有讓你做B(默認)。所以在某些情況下,你*可以* POST,只是看不到結果。 –

+0

@Nick Craver有趣,我不知道A,我必須研究。謝謝你的提示。 – kasdega

+0

那麼我能夠插入數據在外部數據庫,雖然我得到錯誤(302對象移動)的情況下,Firefox/chorme,但在IE數據的情況下不輸入外部數據庫。在IE中,我得到了一個拒絕訪問的錯誤。那麼我現在該做什麼? – Naveen