我有一个.php页面,其中包含一个JavaScript函数,如果MySQL数据库中的内容正确,则运行该函数。我知道这个功能有效。
所以我的php文件看起来像这样:
thephp.php :
<?php
$should_i_run_the_function = checkDatabase();
if(!$should_i_run_the_function){die("you can't");}
?>
<!doctype html>
<html>
<head>
<script type="text/javascript" language="Javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.1.min.js"></script>
<script>
function myFunction()
{
/* works in browser */
make_an_AJAX_call_and_insert_something_to_database();
}
<?php
if($should_i_run_the_function)
{
?>
myFunction();
<?php
}
?>
</script>
</head>
<body>
</body>
</html>
当我在浏览器中打开页面时,这可以正常工作。
但是当我从 ActionScript 3 中调用它时,就像这样:
public function CallURL()
{
var request:URLRequest = new URLRequest('http://localhost/thephp.php');
var variables:URLLoader = new URLLoader();
variables.dataFormat = URLLoaderDataFormat.TEXT;
variables.addEventListener(Event.COMPLETE, Ajax_completeHandler());
try
{
variables.load(request);
}
catch (error:Error)
{
trace("Unable to load URL: " + error);
}
}
completeHandler函数正确显示了.php.php的内容,它不是die("you can't")
,但它没有用JavaScript进行mysql插入。
我尽可能地简化了代码,那么问题是什么呢?
JavaScript是否需要&#34;客户端&#34;是一个运行的浏览器?
我也试过了ExternalInterface
但是它不适用于那个函数,我想知道我是否可以用URLRequest
来运行JS代码。
谢谢!
答案 0 :(得分:2)
你指出了这件事:
Does JavaScript require the "client" to be a browser to run?
是的,当然,javascript是由浏览器执行的,而不是由HTTP请求执行的。