JSONP接口怎么写?

前端之家收集整理的这篇文章主要介绍了JSONP接口怎么写?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

http://www.jb51.net/article/77470.htm

*当前网址是localhost:3000*/@H_301_4@
js代码@H_301_4@
$.ajax({@H_301_4@
type:@H_301_4@ "get"@H_301_4@ ,@H_301_4@
url:@H_301_4@ "http://localhost:3000/showAll"@H_301_4@ ,@H_301_4@ /*url写异域的请求地址*/@H_301_4@
dataType:@H_301_4@ "jsonp"@H_301_4@ ,@H_301_4@ /*加上datatype*/@H_301_4@
jsonpCallback:@H_301_4@ "cb"@H_301_4@ ,@H_301_4@ /*设置一个回调函数,名字随便取,和下面的函数里的名字相同就行*/@H_301_4@
success:@H_301_4@ @H_404_57@function@H_301_4@ (){@H_301_4@
。。。@H_301_4@
}@H_301_4@
});@H_301_4@
/*而在异域服务器上,*/@H_301_4@
app.js@H_301_4@
app.get(@H_301_4@ '/showAll'@H_301_4@ ,students.showAll);@H_301_4@ /*这和不跨域的写法相同*/@H_301_4@
/*在异域服务器的showAll函数里,*/@H_301_4@
@H_404_57@var@H_301_4@ db = require(@H_301_4@ "./database"@H_301_4@ );@H_301_4@
exports.showAll = @H_301_4@ @H_404_57@function@H_301_4@ (req,res){@H_301_4@
/**设置响应头允许ajax跨域访问**/@H_301_4@
res.setHeader(@H_301_4@ "Access-Control-Allow-Origin"@H_301_4@ ,@H_301_4@ "*"@H_301_4@ );@H_301_4@
/*星号表示所有的异域请求都可以接受,*/@H_301_4@
res.setHeader(@H_301_4@ "Access-Control-Allow-Methods"@H_301_4@ ,@H_301_4@ "GET,POST"@H_301_4@ );@H_301_4@
@H_404_57@var@H_301_4@ con = db.getCon();@H_301_4@
con.query(@H_301_4@ "select * from t_students"@H_301_4@ ,@H_301_4@ @H_404_57@function@H_301_4@ (error,rows){@H_301_4@
@H_404_57@if@H_301_4@ (error){@H_301_4@
console.log(@H_301_4@ "数据库出错:"@H_301_4@ +error);@H_301_4@
}@H_301_4@ @H_404_57@else@H_301_4@ {@H_301_4@
/*注意这里,返回的就是jsonP的回调函数名+数据了*/@H_301_4@
res.send(@H_301_4@"cb("@H_301_4@+JSON.stringify(r)+@H_301_4@")"@H_301_4@);@H_301_4@
}@H_301_4@
});@H_301_4@
}@H_301_4@

猜你在找的Json相关文章