我有一个非常简单的jQuery / AJAX GET代码段,用于输入用户将表单填入我们使用的CRM数据库。
jQuery.get("https://www.website.com/RESTForm.aspx", {
Customer : "ch000096151eArad",
Email : "1",
ownerid : "8",
overwrite : "0",
rurl : "http://www.website.com",
FirstName : jQuery('#firstname').val(),
LastName : jQuery('#lastname').val(), E
mail : jQuery('#business_email').val(),
Company : jQuery('#COMPANY_NAME').val(),
LogIn_Name__c : jQuery('#loginname').val(),
Title : jQuery('#position').val(),
MailingStreet : jQuery('#business_address').val(),
MailingStreet2 : jQuery('#business_address2').val(),
MailingCity : jQuery('#business_city').val(),
MailingState : "GA",
MailingZip : jQuery('#business_zip').val(),
MailingCountry : jQuery('#business_country').val(),
Source : "Member",
CRMType: "Contact",
Institute_Membership__c: "Free Member"
} );
表单在每个浏览器中都成功提交,但是我在控制台中获取了Firefox:
GET https://www.website.com/RESTForm.aspx [HTTP/1.1 200 OK 236ms]
Cross-Origin Request Blocked:
The Same Origin Policy disallows reading the remote resource at https://www.website.com/RESTForm.aspx.
This can be fixed by moving the resource to the same domain or enabling CORS.
Firefox似乎不喜欢我将其提交到另一个域,但我不确定如何处理这些信息。任何帮助将非常感激。
答案 0 :(得分:1)
你几乎已经有了答案:
The Same Origin Policy disallows reading the remote resource at https://www.website.com/RESTForm.aspx.
This can be fixed by moving the resource to the same domain or enabling CORS.
您可以提交与网页相同的域名或更改请求类型。例如,您可以执行常规(非XHR)请求。
答案 1 :(得分:0)
这是一种客户端安全措施,可防止客户端代码在用户不知情的情况下访问多个网站。例如,请考虑浏览器中您登录银行帐户的一个标签,以及包含恶意代码的其他标签,该标签试图通过一些javascript代码从您的帐户转帐,该代码使用其他标签中的Cookie!
一个解决方法是允许"遥控器"网站(https://www.website.com)接受原始网站的请求。你可以通过返回一个额外的标题
来实现Access-Control-Allow-Origin:*
或者,哪个更安全,
Access-Control-Allow-Origin:原始网站的网址
来自' GET'远程网站的处理程序。你可以在这个漂亮的tutorial中阅读更多相关信息。