jsonp 跨域请求
2015-07-15 14:37
447 查看
发起jsonp请求页代码
被跨域请求页代码
显而易见:jsonp要求的页面返回值格式为 callback ( json字符串 );
json字符串的引号为了避免意外错误,最好使用双引号
对应最终页面输出结果可能为(callback值带有时间戳,会变化): jQuery17109581847573505305_1323695230871({"jsonp": false,"aa": "callbackName" })
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> </head> <body> <script> $.ajax({ //async : false, //使用同步请求 type : 'GET', url : 'http://127.0.0.1:8090/outapp/jsonp', dataType:'jsonp', //选择返回值类型 jsonp:"callback", //规定发送/接收参数,默认为callback timeout:30000, error:function(jqXHR, textStatus, errorThrown){ if(textStatus=="timeout"){ alert('抱歉!请求超时,请重试!或请检查您的网络状况!'); return false; }else if(textStatus=="error"||textStatus=="parsererror"){ alert('抱歉!系统发生错误,请重试!');return false; }else if(textStatus=="abort"){ alert('抱歉!程序发生中断,请重试!'); return false; } }, success : function(msg) { if ('' != msg) { alert(msg.aa); } else { alert('文件不存在!'); } } }); </script> </body> </html>
被跨域请求页代码
$callback=$_GET['callback']; echo $callback.'({"jsonp": false,"aa": "callbackName" })';
显而易见:jsonp要求的页面返回值格式为 callback ( json字符串 );
json字符串的引号为了避免意外错误,最好使用双引号
对应最终页面输出结果可能为(callback值带有时间戳,会变化): jQuery17109581847573505305_1323695230871({"jsonp": false,"aa": "callbackName" })
相关文章推荐
- js获取事件源及触发该事件的对象
- 重写Backbone.js的加载动作
- BZOJ 1015 [JSOI2008]星球大战starwar
- 判断页面是关闭还是刷新的js代码
- js调用cs中函数的方法及在cs中调用js函数
- JSP通用7动作命令
- jsp中的js嵌入Extjs与后台action交互
- json.dumps loads 终于区分出来了
- md5 jsp页面,加密用
- jsp内置对象 的使用范围和类型【说明】
- JavaScript高级程序设计【面向对象-创建对象】
- 页面自动执行(加载)js的几种方法
- js的二维数组
- Javascript简单改变表单元素背景的方法
- 求帮看!!!!BZOJ 1014 [JSOI2008]火星人prefix
- js原生弹出框
- js原生贪吃蛇游戏
- 从网址获取json字符串
- 跨域请求问题以及相关解决方法之JSONP
- js身份证有效验证