我有一个 .php 页面,其中有一个 JavaScript 函数,如果 MySQL 数据库中的某些内容正确,则运行该函数。我知道该功能有效。
所以我的 php 文件如下所示:
php.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 是否需要“客户端”作为浏览器才能运行?
我也尝试过ExternalInterface
,但它不适用于该功能,我想知道我是否可以通过URLRequest
.
谢谢 !