我想使用jquery来实现服务器上perl脚本的ajax响应。但是当我使用这样的代码时,我什么也没得到。我可以从浏览器中的url得到结果,所以我不知道哪里错了。
$(document).ready(function(){
$("button").click(function(){
$.ajax({
'type': 'GET',
'url': 'http://XXXX/cgi-bin/XXX.pl?title=dd',
'async': true,
'success': function(data) {
alert(data);
}
});
});
});
最佳答案
如果url字段包含http://server.domain/
并且如果您尝试从位于http://以外的网页访问服务器server.domain/ (例如在桌面中,通过 file:///
访问),可能您需要添加一个字段 Access-control-allow-origin: *
在 Perl CGI 发送的 header 中:
#!/usr/bin/perl -w
use CGI;
my $q=new CGI;
print $q->header(-type=>"text/plain", -Access_Control_Allow_Origin=>"*")."Answer";
注意安全考虑...
关于jquery 无法从 perl 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095782/