0

我有一个 .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.

谢谢 !

4

1 回答 1

2

你指出了事情:

Does JavaScript require the "client" to be a browser to run?

是的,当然,javascript 是由浏览器执行的,而不是由 HTTP 请求执行的。

于 2013-05-22T16:36:55.880 回答