原生js,ajax跨域

直接贴代码:js文件:

function xmlhttp(){  
    var xhr = getHttpObj();//得到XMLHttpRequest对象;
    xhr.open("post","写上你需要跨域的路径", true);  
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");// 缺少这句,后台无法获取参数
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) {  
        var data = xhr.responseText; //获取后台数据;
         var jsonData=eval("("+data+")"); //解析json成json对象(视个人情况而定); 
         var obj = document.getElementsByName("zhujian");
                 ......
                    写你的内部逻辑;
                      .......
           }
          };  
         var content = "appid=11111&sign=222222222";  //传到后台的测试值(可忽略);
        xhr.send(content);  
      } 
function getHttpObj() {  
    var httpobj = null;  
    try {  
        httpobj = new ActiveXObject("Msxml2.XMLHTTP");  
    }  
    catch (e) {  
        try {  
            httpobj = new ActiveXObject("Microsoft.XMLHTTP");  
        }  
        catch (e1) {  
            httpobj = new XMLHttpRequest();  
        }  
    }  
    return httpobj;  
}

后台程序(我用的框架是SpringMVC):

@Controller
public class GetUserListController {

    @RequestMapping(value="路径后缀名")
    @ResponseBody
    public List<String> getUserList(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
        response.setHeader("Access-Control-Allow-Origin", "*");  //支持跨域访问,*代表你发送的所有请求方域名,也可以单独写你的请求方域名;
        response.setHeader("Access-Control-Allow-Methods", "POST,GET"); //支持跨域访问;
        List<String> list = new ArrayList<String>();//Map还是List是情况而定;
        list.add("测试1");
        list.add("测试2");
        list.add("测试3");
        return list;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值