在用ajax请求时,请求的域名和所在域名不同,会出现跨域问题导致请求失败。

复杂请求:

条件:
    1、请求方式:HEAD、GET、POST
    2、请求头信息:
        Accept
        Accept-Language
        Content-Language
        Last-Event-ID
        Content-Type 对应的值是以下三个中的任意一个
                                application/x-www-form-urlencoded
                                multipart/form-data
                                text/plain
 
注意:同时满足以上两个条件时,则是简单请求,否则为复杂请求

 

2. 简单请求

2.1 JSONP

 

function jsonp(url) {  // url 一般带有参数用来决定下面func1的名称 例如: http://127.0.0.1:7766/SendAjax/?callbacks=func1  但是这个callback参数的名称是服务端定的
let newlabel
= document.createElement("script"); // 添加标签 newlabel.src = url document.body.appendChild(newlabel) // 加到文档中 script.setAttribute("type","text/javascript") document.body.removeChild(newlabel) // 删除标签 } function func1(data){ // 这里定义注意名称func1 alert(data) // 这里对数据进行处理 }

jsonp(url) // 调用jsonp函数
// 这里jsonp函数会建立并删除一个script标签,其中包含了从前端拿来的数据:func1(data) 通过这个数据调用fun1函数
 $.ajax({
            url:"http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403",
             dataType: 'jsonp',
             jsonp: 'callback',
             jsonpCallback: 'list',
             success:function (data) { 
             // 处理
}})            
jq集成

相关文章: