1

我正在使用 JSP、Servlet 和 AJAX 开发 Java Web 应用程序。在其中我尝试通过特定 ID 获取产品的详细信息。当我在 Eclipse 上运行它时,它会显示以下消息:

“此页面正在访问不受其控制的信息。这会带来安全风险。要继续吗?”

当我按确定时,它会显示产品详细信息。

如果我在谷歌浏览器中浏览它不会显示任何细节。我从 Shopify 得到 0 的响应。

这是我用来获取产品详细信息的 ajax 代码:

  function getProductDetails(productindex){
    try{
            var intProductId = getProductId(productindex);
            if(intProductId != null){
            var url = 'http://shop.myshopify.com/admin/products/'+intProductId+'.xml';              
                 var httpRequest=GetXmlHttpObject();
                  if (httpRequest==null){
                       alert ("Browser does not support HTTP Request")
                       return
                  }     
                  httpRequest.open("GET", url, true,'apikey,'password'); 
                  httpRequest.onreadystatechange = function() {processRequest(); } ; 
                  httpRequest.send();   
           }
    }catch(e){
        alert(e);
    }
} 

 function processRequest(){ 
 try{           
    if (httpRequest.readyState == 4){               
            if(httpRequest.status == 200){                 
                var xmldata=httpRequest.responseXML; //retrieve result as an XML object
                showDetailsInFields(xmldata);                 
            } else { 
                alert("Error in response check "+ httpRequest.status +":"+ httpRequest.statusText); 
            } 
       }
     }catch(e){
     alert("Error in process request"+e);
    }
} 

当我在 Eclipse 中构建和运行时,我得到 200 的响应。但是,当我使用 chrome 浏览时,我得到 httpRequest.status = 0。

任何帮助,将不胜感激。

谢谢

4

1 回答 1

2

这是在浏览器中运行的 JavaScript 吗?由于所有浏览器都强制执行跨站点脚本限制,这可能不起作用。您应该在服务器上发出 API 请求,向您自己的服务器发出 Ajax 请求。

于 2012-07-10T12:35:26.137 回答