应用场景:
如有两个web系统,如分别为192.168.0.120和192.168.0.190; 现在192.168.0.120要向192.168.0.190的站请求数据,这时用ajax请求不到的;解决办法就用ajax的JSONP方式。
示例环境:
perl5.20 jquery2.1.4 apache2.4.16 win10
下面是详细代码:
ajax请求代码
function ajaxSend() { \$.ajax({ url:"http://192.168.0.190/cgi/test2.cgi",dataType: "jsonp",jsonpCallback:"mycallback",success: function(data){ if ( data.error == null ){ }else { } },error:function(req,status,obj){},complete: function(xh){} }); }
test2.cgi (perl)
#!../perl/bin/perl.exe use strict; use CGI; my $q = CGI->new; print $q->header( -type => 'text/javascript+json',-charset => 'utf-8',); my $jsonp = 'mycallback'; my $result = "{\"status\":\"1\",\"result\":{\"next_url\":\"下一页的地址\",\"content\":\"本页展示数据\"}} "; print( "$jsonp(" . $result . ");\n" ); 1;