LittleBill

jsonp学习汇总

为什么要使用jsonp?
为了解决在不同域名下,即跨域(参考JavaScript同源策略)获取数据的问题。

这是同域请求
[javascript]
<script src=’//libs.baidu.com/jquery/2.0.0/jquery.min.js’></script>
<script type="text/javascript">
$.ajax({
url: ‘http://127.0.0.1/a.json’,
dataType: "json",
success: function (data) {
console.log(data);
}
});
</script>
[/javascript]
a.json
[xml]
{
"name": "sun",
"age": 10
}
[/xml]
2015-07-11_143704

如果换成跨域?
[javascript]
<script src=’//libs.baidu.com/jquery/2.0.0/jquery.min.js’></script>
<script type="text/javascript">
$.ajax({
url: ‘http://www.sun.cn/a.json’,
dataType: "json",
success: function (data) {
console.log(data);
}
});
</script>
[/javascript]
2015-07-11_144552
提示跨域了,现在就需要jsonp出马。
[……]

继续阅读

Continue reading

匿名立即调用函数学习

错误例子:
因为在解析器解析全局的function或者function内部function关键字的时候,默认是认为function声明,而不是function表达式,如果你不显示告诉编译器,它默认会声明成一个缺少名字的function,并且抛出一个语法错误信息,因为function声明需要一个名字。
[javascript]
function() {// FF报错信息:SyntaxError: function statement requires a name
alert("第18行");
}();
[/javascript]
[……]

继续阅读

Continue reading