2013-03-21 106 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