2011-06-30 28 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