1

JSP、サーブレット、および AJAX を使用して Java Web アプリケーションを開発しています。特定のIDで製品の詳細を取得しようとしています。Eclipse で実行すると、次のメッセージが表示されます。

「このページは、その管理下にない情報にアクセスしています。これはセキュリティ上のリスクをもたらします。続行しますか?」

OKを押すと、商品の詳細が表示されます。

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 が返されます。

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

2

これはブラウザで実行されている JavaScript ですか? これは、すべてのブラウザーで適用されるクロス サイト スクリプティングの制限により、機能しない可能性があります。サーバー上で API リクエストを行い、独自のサーバーに対して Ajax リクエストを行う必要があります。

于 2012-07-10T12:35:26.137 に答える