【问题标题】:Cross Domain Webservice Call [duplicate]跨域 Web 服务调用 [重复]
【发布时间】:2011-12-29 05:37:00
【问题描述】:

可能重复:
Cross-domain XHR/AJAX : a possible workaround?

我尝试从我的 Javascript 中对在另一台服务器上运行的 Restful Web 服务执行 xmlHttpRequest。指定

时出现 JS 错误
"XMLHttpRequest cannot load 'URL'.Origin 'localhost' is not allowed by Access-Control-Allow-Origin.

谷歌搜索后我知道我无法跨域创建XmlhttpRequest

我想知道从我的 Javascript 实现跨域 Web 服务调用的最佳方式是什么。

【问题讨论】:

    标签: web-services jquery cross-domain


    【解决方案1】:

    您好,我在我的应用程序中使用它

    function CrossDomainAjax(url, data, callback){
       $.ajax({
         type: "GET",
         url: url,
         data: data,
         contentType: "application/json; charset=utf-8",
         dataType: "jsonp",
         jsonpCallback: callback
       });    
    }
    

    现在用于服务器端功能
    它也应该返回 jsonp,像这样

    callBack({your:json});
    

    【讨论】:

      【解决方案2】:

      您需要在服务器上进行更改以允许来自本地主机服务器的请求。您更改 apache 的 httpd-vhosts.conf 文件中的设置:

      <VirtualHost *:80>
      ServerAdmin webmaster@dummy-host.com
      DocumentRoot “C:/apache-tomcat-6.0.29/webapps/myApplication”
      ServerName skill-guru.com
      ErrorLog “logs/skg1-error.log”
      CustomLog “logs/skg1-access.log” common
      
      
      Header set Access-Control-Allow-Origin “*”
      
      <Directory “C:/apache-tomcat-6.0.29/webapps/myApplication”>
      Options -Indexes FollowSymLinks
      AllowOverride AuthConfig FileInfo
      Order allow,deny
      Allow from all
      </Directory>
      
      JkUnmount /*.jsp ajp13
      
      </VirtualHost>
      

      现在在 apache 服务器中设置值并查看标头后会看到

      HTTP/1.1 200 OK
      Date: Mon, 01 Dec 2008 00:23:53 GMT
      Server: Apache/2.0.61
      Access-Control-Allow-Origin: *
      Keep-Alive: timeout=2, max=100
      Connection: Keep-Alive
      Transfer-Encoding: chunked
      Content-Type: application/xml
      

      这实质上意味着您的 Web 服务应用程序的服务器正在为任何调用者提供请求。

      【讨论】:

      • 在不使用 Apache httpd 的情况下,这在 Apache Tomcat 配置中是否可行?
      猜你喜欢
      • 2012-11-29
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 2012-09-14
      • 2013-08-14
      • 2013-05-15
      相关资源
      最近更新 更多