我想通過ajax發送數據到Perl腳本,並從它接收一個json格式。但它不起作用。我知道在下面的腳本中有什麼錯誤。有誰知道如何修理它?如何通過ajax發送數據到Perl腳本?
jQuery代碼:
$("#test").click(function(){
var ID = 100;
var data = {
data_id : ID
};
$.ajax({
type: "POST",
url: "ajax.cgi",
data: data,
success: function(msg){
window.alert(msg);
}
});
});
ajax.cgi(perl腳本):
#!/usr/bin/perl
use CGI;
use DBI;
$cgi = CGI->new;
# Here I'd like to receive data from jQuery via ajax.
$id = $cgi->param('data_id');
$json = qq{{"ID" : "$id"}};
$cgi->header(-type => "application/json", -charset => "utf-8");
print $json;
exit;
檢查服務器訪問和錯誤日志文件 –
非常感謝您的評論。那麼,它的意思是「$ cgi = CGI-> new; $ id = $ cgi-> param('data_id');」爲了在jQuery中通過ajax接收數據沒有錯? –
**(1)**請讓你的Perl腳本在'use strict;使用警告'→聲明你的變量。 **(2)**就我所見,實際上並沒有「打印」$ cgi->頭(...)'。 **(3)**要查看腳本收到的內容,請將參數轉儲到日誌文件中:'use Data :: Dumper;打印STDERR Dumper $ cgi-> Vars'。 **(4)**要對JSON進行解碼或編碼,請使用「JSON」模塊。 – amon