原生JS解决跨域问题

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 Ajax异步交互
    1.创建对象
        var request = new XMLHttpRequest();
    2.指定请求
        request.open('GET','url');
    3.设定请求头
        request.setRequestHeader('key','value')
        request.setRequestHeader("Content-type","text/plain;charset=UTF-8");
    4.发送请求
        request.send('请求主题内容');  如果没有则为null
    5.取得响应
        request.onreadystatechange=function(){
            if(request.readyState==4 && request.status==200){
                var response=request.responseText/XML;
                showData(reponse);
            }
        }
        //处理后台响应回来的数据
        function showData(response){

        }

例子:




    
    js
    
    


    

一开始引入(提前封装好的)的jsonp.js

getJSONP.counter = 0;//回调函数名称计数器
function getJSONP(url,callback){
	var cbnum = "cb"+getJSONP.counter++;//cb0
	var cbname = "getJSONP."+cbnum;//getJSONP.cb0

	if(url.indexOf("?") === -1){
		url += "?jsonp="+cbname;//?jsonp=getJSONP.cb0
	}else{
		url += "&jsonp="+cbname;
	}
	var script = document.createElement("script");
	//为每个请求创建了一个全新的内部回调函数,作为getJSON函数的一个属性储存。 getJSONP[cb0] = function(){}
	getJSONP[cbnum]= function(response){
		try{
			callback(response);
		}finally{
			//清理工作:删除回调函数
			delete getJSONP[cbnum];//移除script元素
			script.parentNode.removeChild(script);	
		}
	};
	script.src = url;
	document.body.appendChild(script);
}

 

转载于:https://my.oschina.net/yj1993/blog/1490314

你可能感兴趣的:(python,java,前端,ViewUI)