2016-07-29 4 views
2

ウェブアプリケーションから、主にjavascript経由でajaxを使用してエンタープライズアプリケーションと通信しようとしています。私はこの問題を解決するために多くを試みたが成功しなかった。私はいくつかのオンラインhttppostツールを見ましたが、私は応答テキストを見ることができましたが、私の最後からは起こっていません。 「クロスソース要求がブロックされました:同じオリジンポリシーは、http://urlでリモートリソースの読み取りを許可しません(理由:CORSヘッダー 'Access-Control-Allow-Origin'がありません)。クロスオリジン要求がブロックされました:同じオリジンポリシーでhttp:// ........でリモートリソースを読み取ることができません。

マイコード:

var url = "use_url"; 
var method = "POST"; 

var regid = "null"; 
var UNAME = "abcd089"; 
var PASSWORD = "abcd007*"; 
var forLogin = "10 112 " +UNAME+ " " + PASSWORD + " " + regid + " 01"; 
var async = true; 

var request = new XMLHttpRequest(); 

request.open('POST', url, async); 
request.onload = function(){ 
      //HTTP response 
      //if(request.readyState === 4 && request.status === 200){ 
      var status = request.status; 
      var statusData = request.responseText;    

      console.log(status); 
      console.log(statusData); 
      console.log(request); 

     //} 
}; 

request.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 
request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); 
request.setRequestHeader("Cache-Control", "no-cache"); 

request.send(forLogin); 

私は、応答テキストを取得するための解決策を探しています。私はオンラインでいくつかの解決策を見ましたが、それらはすべて応答ヘッダーを設定することを話していますが、一部のオンラインhttppostサイトはデータと応答テキストを正しく作成しています。私はjavascriptで解決策を探しています。

答えて

1

あなたが別のドメインにいる場合は、JavaScript側からは許可されていません。サーバー側から行う必要があります。

ブラウザのクロス・ソースがブロックされています。あなたは、ajaxを使用して、javascriptから非ホスト・ドメインへのリクエストを行うことはできません。あなたがhttp://XXXX.com上にある場合 その後、あなたはドメインがリソースにアクセスすることを許可するようにサーバーの設定を変更することができ、両方のドメインを完全に制御を持っている場合は、POSTリクエスト

ためにJavaScriptからhttp://YYYY.comを呼び出すことはできませんが、それはセキュリティとしては好ましくない...コードの下

サーバー

URL url = new URL("your url"); 
    HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
    httpCon.setDoOutput(true); 
    httpCon.setRequestMethod("POST"); 
    OutputStreamWriter out = new OutputStreamWriter(
     httpCon.getOutputStream()); 
    System.out.println(httpCon.getResponseCode()); 
    System.out.println(httpCon.getResponseMessage()); 
    out.close(); 
+0

おかげJayeshからHTTP POSTリクエストを行うために使用することができます。両方のアプリケーションの技術としてサーブレットを使用してサーバー側から行う例はありますか? –

+0

私はあなたの参照のためのコードを追加しました。これは、外部のhttp要求を呼び出すことができますが、他の追加のlibのカップルはまた、より多くのパラメータと構成でHTTP要求を提供したを使用して基本的なJavaコードです。 – jayesh

+0

ありがとうJayesh。ここに文字列を渡す方法を教えていただけますか? like 文字列コンテンツ= "abcd123 Hjkl007 * null";ポストパラメタとして。 –

関連する問題