2016-01-06 49 views
0

我需要從html調用php腳本 - 比如localhost中的index.html。我正在嘗試jQuery的$ .post(),它失敗了,我無法調試該問題。任何機構的幫助?

作爲演示,說我要叫info.php的,即

<?php phpinfo(); ?> 

,我嘗試下面的代碼

$('#submit').on('click', function(){ 
alert('Submitting data'); 
$.post('./info.php'); 
}); 

我從一開始的警報叫info.php的以上的功能,但其餘的保持沉默。

info.php和index.html都駐留在localhost的根目錄下。

+0

而且你能指望什麼?應該發生什麼? –

+0

這是預期的行爲,你做了一個成功的請求,沒有任何東西會被返回。 – Daan

+0

其實,我需要從兩個輸入字段發送數據,沒有形式。所以用$。post(),我想運行一個php腳本,它將連接到mysql,並將html文件的兩個輸入字段的值插入到表中。由於我無法確定jQuery是否在所有的php腳本中調用,我無法取得進一步進展 –

回答

0

您可以使用帖子功能正常,但是在帖子完成時您不應用任何回調來執行操作。嘗試成功的回調函數:

$.post('./info.php', function(data) { 
    console.log(data); 
    // do whatever you want here 
}); 

看到該文檔:

http://api.jquery.com/jquery.post/

你也應該考慮使用jquery的AJAX功能。您可以通過參數請求類型手柄成功,錯誤,完整等。

http://api.jquery.com/jquery.ajax/

0

簡單地調用.post()沒有做在瀏覽器中任何東西。如果你想要發生什麼事情,那麼你必須告訴瀏覽器做你想做的任何事情。

例如,您可以輸出的數據返回給Javascript控制檯:

$.post('./info.php').done(function (data) { 
    console.log(data); 
}); 

要查看控制檯輸出打F12。轉到「控制檯」選項卡。

+0

實際上,我需要從兩個輸入字段發送數據,而沒有形式。因此,使用$ .post(),我想運行一個php腳本,它將連接到mysql並將html文件的兩個輸入字段的值插入到表中。 –

+0

因爲我無法確定jquery是否可以在php腳本中調用,所以我不能再取得進一步的進展 –

0

如果你想要的是加載當前頁面(index.html的)響應,你可以使用該方法load()

比方說,在index.html您在網頁以下div

<div id="phpinfo"></div> 

然後將以下代碼應從info.php加載響應到div

$(function() { 
    $('#phpinfo').load('info.php'); 
}); 

現在,加載使用post()方法,你就必須使用以下的響應:

$(function() { 
    $.post('info.php', function(data) { 
     $('#phpinfo').html(data); 
    }); 
});