我想知道是否有可能在javascript中调用php函数,仅当条件为真时才会调用该函数。例如在Javascript中调用PHP函数
<script type="text/javascript">
if (foo==bar)
{
phpFunction(); call the php function
}
</script>
有没有这样做的手段..如果是这样告诉我。谢谢
我想知道是否有可能在javascript中调用php函数,仅当条件为真时才会调用该函数。例如在Javascript中调用PHP函数
<script type="text/javascript">
if (foo==bar)
{
phpFunction(); call the php function
}
</script>
有没有这样做的手段..如果是这样告诉我。谢谢
PHP函数无法按上面所示方式调用。但是,您可以使用AJAX调用PHP脚本,代码如下所示。你也可以找到一个简单的例子here。让我知道如果你需要进一步澄清
使用jQuery
<script type="text/javascript" src="./jquery-1.4.2.js"></script>
<script type="text/javascript">
function compute() {
var params="session=123";
$.post('myphpscript.php',params,function(data){
alert(data);//for testing if data is being fetched
var myObject = eval('(' + data + ')');
document.getElementById("result").value=myObject(addend_1,addend_2);
});
}
</script>
准系统的Javascript替代
<script type="text/javascript">
function compute() {
var params="session=123"
var xmlHttp;
var addend_1=document.getElementById("par_1").value;
var addend_2=document.getElementById("par_2").value;
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("No Ajax for YOU!");
return false;
}
}
}
xmlHttp.onreadystatechange = function()
{
if (xmlHttp.readyState == 4) {
ret_value=xmlHttp.responseText;
var myObject = eval('(' + ret_value + ')');
document.getElementById("result").value=myObject(addend_1,addend_2);
}
}
xmlHttp.open("POST", "http://yoururl/getjs.php", true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
</script>
我真的不得不推荐Ajax的jQuery库。它只是让事情变得简单和无忧。 – 2010-11-13 14:37:56
当然,不过每个新手都需要先从头开始,因此我使用准系统javascript – Philar 2010-11-13 14:40:05
感谢您的帮助。还有一件事可以让我看到一个简单的jQuery.ajax示例。我想知道它的基本实现。 – 2010-11-13 14:42:19
不,这是不可能的。 PHP代码运行之前(服务器端)的JavaScript(客户端)
PHP是服务器端和Javascript是客户端,这样不是真的(是的,我知道有一些服务器端JS)。你可以做的就是使用Ajax并调用PHP页面来获得一些结果。
这里是一篇关于如何使用jQuery获取和运行Ajax的文章http:// articles.sitepoint.com/article/ajax-jquery – Treffynnon 2010-11-13 14:31:45
哇,我说完全相同的几分钟后你:) – 2010-11-13 14:33:07
其他的答案是不是正确的。
但是,有一个库XAJAX,它可以帮助模拟使用AJAX和特别设计的PHP库从JavaScript调用PHP函数的行为。
这有点复杂,学会在jQuery中使用$ .get和$ .post会容易得多,因为它们设计得更好,更简单,一旦你了解它们的工作方式,没有必要直接从JavaScript调用PHP。
PHP总是在页面加载之前运行。 JavaScript总是在页面加载后运行。他们从不串联。
最接近的解决方案是使用AJAX或浏览器重定向从服务器调用另一个.php文件。
[Javascript和PHP函数]的可能重复(http://stackoverflow.com/questions/221396/javascript-and-php-functions) – 2010-11-13 14:33:00