ajax js 跨域访问问题

我现在就遇到了你说的ajax跨域的问题,我的是一个静态的html的网页,通过js想去请求一个action 或者一个servlet 将值在返回到页面上,由于跨域得不到返回来的值。我看人家例子用jsonp 是这么用吗?想请教一下。。

</p> <pre><code> var url = &quot;http://192.168.1.181:8080/PisWeb/login!getstr.action&quot;; function callbackFunction(result) { var html = &#39;&lt;ul&gt;&#39;; for(var i = 0; i &lt; result.length; i++) { html += &#39;&lt;li&gt;&#39; + result[i] + &#39;&lt;/li&gt;&#39;; } html += &#39;&lt;/ul&gt;&#39;; document.getElementById(&#39;divCustomers&#39;).innerHTML = html; } function CallJSONPServer(url){ // 调用JSONP服务器,url为请求服务器地址 var oldScript =document.getElementById(url); // 如果页面中注册了调用的服务器,则重新调用 if(oldScript){ oldScript.setAttribute(&quot;src&quot;,url); return; } var script =document.createElement(&quot;script&quot;); // 如果未注册该服务器,则注册并请求之 script.setAttribute(&quot;type&quot;, &quot;text/javascript&quot;); script.setAttribute(&quot;src&quot;,url); script.setAttribute(&quot;id&quot;, url); document.appendChild(script); } </code></pre> <p>




这样写可以吗?

这个是我action的方法

public String getstr(){

String str = ":[\"customername1\",\"customername2\"]";
try {
this.getHttpResponse().setCharacterEncoding("UTF-8");
this.getHttpResponse().getWriter().println(str);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

要导入jquery.js

$(function(){ $.ajax({ type:"POST", //是get ,POST url:"http://127.0.0.1:8088/Struts2/test!add", //访问URL data:"name=4&pwd=3", //参数 // dataType:'json', //返回类型,默认是String success:function(data){ //成功调用的方法 alert(data); }, error:function(){ //失败调用的方法 } }); });