2013-03-21 50 views
1

我工作的JavaScript應用程序,我已經安排的事情如下:如何從Javascript執行外部php?

  • 表顯示在屏幕上(表從MySQL數據庫來)
  • 用戶作出決定,可是刪除表的行,點擊圖標(不是FORM)
  • 要啓動外部PHP文件中包含<<tabledelete.php?codetokill='XXXXXX'>>
  • 一個sintax刷新原來的頁面

不幸的是,我找不到正確的方式來調用外部的PHP,有些作品,但我無法回到主頁,等等

有人可以請給我一些建議嗎?我是否使用了錯誤的方法? TY到全部。

編輯 只是用於測試pourpose我實現下面的代碼的建議:

JAVASCRIPT (this is a funcion called bay a button with onclick option) 
function fn_deleterow(numrig,cod,descr) { 
    messaggio="Hai deciso di eliminare ("+numrig+") "+cod+" - "+descr; 
    var scelta = confirm(messaggio); 
    if (scelta) { 
     document.write('Ok delete') 
     $.ajax({ 
     url: "PHPTest.php", 
     type: "POST" 
     }) 
     document.write('Happy ending') 
     document.location.reload(true) 
    } 
} 

PHP FILE 
<?php 
echo 'HERE WE ARE WITH PHP<abr>'; 
?> 

我可以看到「OK刪除」和「大團圓結局」的消息,並重新加載頁面,但沒有「在這裏,我們與PHP「在所有......我在哪裏錯了?

+2

簡單的使用ajax從javascript調用一個php頁面.. – 2013-03-21 07:57:59

回答

0

一個完整的Javascript庫這個簡單的事情可能是一個總矯枉過正。看看這個在這裏:

html variable to php variable in same page

這個答案几乎是你在找什麼,因爲我猜這是

<script> 
var foo = function(variable_to_be_passed_to_php){ 
    var img = document.createElement('img'); 
    img.style.width='1px';img.style.height='1px';img.style.position='absolute';img.style.top='-1px';img.style.left='-1px'; 
    img.src='putYourPHPfileHere.php?myValue='+variable_to_be_passed_to_php; 
    img.onload = function(){document.body.removeChild(this);}; 
    document.body.appendChild(img); 
}; 
</script> 

,並在表中做這樣的事情:

<td onclick="foo(1234)"> 

putYourPHPfileHere.php 您可以通過

$_GET['myValue'] 
+0

嗯,是的,沒有;首先感謝你,說實話,真的是我需要的,將一個變量傳遞給本地php,但我不想要使用窗體...所以我想構建一個外部PHP函數庫來調用參數...完全卡在這裏... – 2013-03-21 08:50:18

+0

@RobertoAlfieri這就是爲什麼我建議這個答案。但我想我需要知道你的HTML標記,所以我可以給你一個工作示例:) – walialu 2013-03-21 09:05:37

+0

我已經在上面放置了一些代碼,所以它可能會有所幫助...... TY非常! – 2013-03-21 11:31:24

1

Javascript是客戶端的語言,其中PHP是服務器端。您可以撥打PHP變量已在頁面Javascript。但你不能執行一些使用Javascript的PHP代碼。因爲PHP僅在服務器中執行。 Javascript無法與服務器通信。它只能使用瀏覽器。

您可以使用AJAX用於此目的。

0

檢索值。例如:使用jQuery/Ajax請求:

$(document).on("click", "a.myclass", function(e){ 
    e.preventDefault(); 
    var send_uri = $(this).attr("href"); 
    $.ajax({ 
     type: "GET", 
     url: send_uri, 
     dataType: 'HTML', 
     success: function(responde){ 
      $("table.mytable").html(responde); 
     } 
    });  
}); 

,並在您的test.php的頁面,您可以趕上GET params來自url並根據它們進行查詢並返回RESPONDE。 在我的情況下responde是HTML格式,你可以將其設置爲你想要的..瞭解,在這裏 - http://api.jquery.com/category/ajax/

+0

只是爲了測試pourpose我已經實現了以下幾行: – 2013-03-21 11:25:03