我正在使用 JSP、Servlet 和 AJAX 开发 Java Web 应用程序。我尝试通过特定 ID 获取产品的详细信息。当我在 eclipse 上运行它时,它显示以下消息:
“此页面正在访问不受其控制的信息。这会带来安全风险。您想继续吗?”
当我按“确定”时,它会显示产品详细信息。
如果我在 Google Chrome 中浏览,它不会显示任何详细信息。我从 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。
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
这是在浏览器中运行的 JavaScript?由于所有浏览器都强制执行跨站点脚本限制,这可能不起作用。您应该在服务器上发出 API 请求,并向您自己的服务器发出 Ajax 请求。
关于java - 使用 AJAX 和 JSP 调用 Shopify API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11413020/