我有一個PHP腳本,它調用exec()
。我一直在麻煩一些代碼調用相同的腳本工作,一些沒有(exec()返回127錯誤代碼)。PHP exec在直接調用腳本時工作,但不是由jQuery調用ajax
我終於摸索出不工作的代碼是一個正在從jQuery的叫我的網頁代碼:
$('#next_button').click(function(event) {
$.get('download_forms.php', function(data) {
alert(data);
});
});
不過,如果我對download_forms.php
鍵入URL到地址欄我的瀏覽器,然後exec()將正確執行。我試圖運行其他腳本從jQuery調用exec()進行測試,並且它們都失敗了,但是如果輸入到地址欄中,則可以工作。
我不明白爲什麼這會是一個問題。無論我在Firefox的地址欄中輸入網址,還是按下網頁上的按鈕,都會發出HTTP請求。
有沒有人知道這種差異可能是什麼?
注意:我已經在exec()中嘗試了不同的命令,它們都從我的jQuery失敗(注意其餘的PHP代碼都運行正常),但是當腳本地址直接輸入到地址欄時工作。
非常感謝
更新
這是我的download_forms.php代碼。最初的exec()只是爲了查看exec()是否工作。如上所述,只有直接輸入地址欄才能正確執行。
include ('inc/session.inc.php');
require_once('Downloader.php');
exec('id', $output, $r);
echo var_dump($output);
echo($r);
try {
$downloader = new Downloader();
$saveMessages = $downloader->saveToDatabase();
// exec() in the combineAndDownloadForms() method
$downloadMessages = $downloader->combineAndDownloadForms();
} catch(Exception $e) {
echo $e->getMessage();
}
進一步更新
我通過由超鏈接從我的網頁給download_forms.php頁面(即<a>
),但執行exec()仍然沒有執行。至少我知道這與ajax無關。
這是一個有點模糊......你能嘗試安裝螢火蟲或使用某種類型的開發工具,看看你是否得到任何JavaScript錯誤? 'download_forms.php'看起來像什麼?你是否對ajax一無所知? –
@ Derek-感謝您的回覆。我已更新我的文章以包含我的'download_forms.php'文件。我對阿賈克斯並不陌生,不。乾杯。 – Joe
您確定AJAX中的網址位置正確嗎? download_forms.php與js文件的相對URL是什麼?此外,如果您使用Firebug或類似軟件,您應該能夠看到AJAX調用的請求/響應,這可能會讓您更深入地瞭解該問題。 –