jquery使用$.getJson()跨域大数据量请求方法
2011-03-18 19:54
821 查看
jq的$.get和$.post方法,都是不能跨域访问的。$.getJson却让我们看到了希望的曙光,
不过有一点不足的是,这个是GET的方法,传递的参数是有限制的,最大不超过2083个字符。
但问题终有解决办法的,经分析得出解决方案如下:
a.com使用$.getJson向b.com发送请求,在请求的同时,a.com把需要的传递的内容放到临时文件中(或者membercache),
b.com收到请求,反过来向a.com请求需要的数据,进行必要的操作,再给a.com返回成功的信息。这样就达到跨域大数据量请求的目的了。
当然通讯过程,最好加上协议,安全起见嘛。
JS 代码:
PHP服务端代码:
header('Content-Encoding: plain');
这句非常重要,如果没有这句,在IE6下将不能返回信息,导致回调函数无法执行。
另外在网上找到的说法,没经验证
<a href=”javascript:void(0);”></a> 做为提交按钮也会导致 ie6下 $.getJSON出错。
提交按钮不能放置在<form>标签里面,否则会form中断了$.getJSON发出的http请求。
不过有一点不足的是,这个是GET的方法,传递的参数是有限制的,最大不超过2083个字符。
但问题终有解决办法的,经分析得出解决方案如下:
a.com使用$.getJson向b.com发送请求,在请求的同时,a.com把需要的传递的内容放到临时文件中(或者membercache),
b.com收到请求,反过来向a.com请求需要的数据,进行必要的操作,再给a.com返回成功的信息。这样就达到跨域大数据量请求的目的了。
当然通讯过程,最好加上协议,安全起见嘛。
JS 代码:
$.getJSON(target_url+"?jsoncallback=?", { 'userid': <?php echo $userid;?> }, function(result) { if(result != 'sc'){ alert(result); }else{ top.document.getElementById("menu").src = $('#url_'+bid).val()+"admin/left_menu.php"; top.document.getElementById("main").src = $('#url_'+bid).val()+"admin/index_body.php"; } });
PHP服务端代码:
header('Content-Encoding: plain'); $userid = SS($_REQUEST['userid']); //逻辑代码 $msg = sc; $json_str = json_encode(array($msg)); echo $_REQUEST['jsoncallback'].'('.$json_str.')'; exit;
header('Content-Encoding: plain');
这句非常重要,如果没有这句,在IE6下将不能返回信息,导致回调函数无法执行。
另外在网上找到的说法,没经验证
<a href=”javascript:void(0);”></a> 做为提交按钮也会导致 ie6下 $.getJSON出错。
提交按钮不能放置在<form>标签里面,否则会form中断了$.getJSON发出的http请求。
相关文章推荐
- jquery使用$.getJson()跨域大数据量请求方法
- jquery使用$.getJson()跨域大数据量请求方法
- 前端使用Jquery的getJSON方法,后台使用PHP,解决IE和火狐Firefox中存在的跨域ajax请求问题。
- 使用Jquery的getJSON跨域请求蘑菇街图片资源实现瀑布流
- 使用Jquery中getJSON和getScript方法实现跨域
- 使用Jquery中getJSON方法实现跨域
- WebWorks中使用JQuery的getJSON方法进行跨域访问
- 黄聪:使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)
- 使用Jquery中getJSON和getScript方法实现跨域(转载)
- jquery $.getJSON()跨域请求
- jQuery.getJSON跨域访问的正确使用方式(史上最傻瓜式解释)
- JQuery中getJSON的使用方法
- jQuery异步请求(如getJSON)跨域解决方案
- 使用jQuery中的getJSON()方法获取数据
- jquery的ajax和getJson跨域获取json数据的实现方法
- JQuery中getJSON的使用方法(转)
- 使用$.getJSON实现跨域ajax请求
- jQuery.get方法请求JSON数据,解析JSON数据 注意事项
- jQuery 使用 $.getJSON() 跨域获取 JSON 数据
- Android网络框架-Volley(四) 使用get和post方法发送json请求