2016-07-29 57 views
2

我想通过使用Ajax主要通过javascript与Web应用程序进行企业应用程序通信。我尝试了很多方法来解决这个问题,但没有成功。我在那里看到了几个在线httppost工具,我可以看到响应文本,但从我的结尾没有发生。每当我收到类似的消息“Cross-Origin Request Blocked:同源策略不允许在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则无法从JavaScript调用http://YYYY.com的POST请求

,如果你有在两个领域,你可以改变你的服务器配置,以允许该域访问资源的完全控制,但不是最好的安全性..

下面的代码,你可以使用从服务器

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请求。你有没有任何例子可以在服务器端通过使用servlet作为两种应用程序的技术来实现? –

+0

我添加了供您参考的代码,这是基本的Java代码,您可以使用它调用外部http请求,但其他附加lib的几个也提供了具有更多参数和配置的http请求。 – jayesh

+0

谢谢Jayesh。你能告诉我如何在这里传递一个字符串吗?像 String content =“abcd123 Hjkl007 * null”;作为后期参数。 –

相关问题