ajax跨域的解决办法

应用场景:

如有两个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;


你可能感兴趣的:(jsonp,跨域,Ajax,perl)