2

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);
  }
});

});
});
4

2 に答える 2

2

URLフィールドにが含まれていて、 http://server.domain/http://server.domain/以外の場所にあるWebページからサーバーにアクセスしようとする場合(サンプルのデスクトップのように、を介してアクセス)、おそらくによって送信されるヘッダーにフィールドを追加する必要があります。あなたのperlCGI:file:///Access-control-allow-origin: *

#!/usr/bin/perl -w

use CGI;
my $q=new CGI;

print $q->header(-type=>"text/plain", -Access_Control_Allow_Origin=>"*")."Answer";

セキュリティ上の考慮事項に注意してください...

于 2012-10-27T13:07:06.237 に答える
0

次の診断を実行してみてください。

$(document).ready(function(){
    $("button").click(function(){
        alert('click happened');
        $.ajax({
            'type': 'GET',
            'url': 'http://XXXX/cgi-bin/XXX.pl?title=dd',
            'async': true,
            'success': function(data, textStatus, jqXHR) {
                alert('ajax success: ' + [data, textStatus]);
            },
            'error': function(jqXHR, textStatus, errorThrown){
                alert('ajax error: ' + [textStatus, errorThrown]);
            }
        });
    });
});

アラートのどこか(またはアラートの欠如)で、何が失敗しているかについての手がかりを得る必要があります。

于 2012-10-27T00:20:38.310 に答える