0

我在让一些 php 代码在我的应用程序中工作时遇到了一些麻烦。设置相当简单:1 个按钮、1 个函数和 1 个 php 文件。

结构

脚本.js

$(document).ready(function ()
{
    $("#btnTestConnectie").click(testConnectie);
});

function testConnectie()
{
    $.get("script/SQL/testConnection.php");
}

测试连接.php

<?php
echo "It works!";
php?>

根据这篇文章,它应该可以工作(当用户点击链接时如何运行 PHP 代码?

一些消息来源声称不可能通过 javascript 执行 php,所以我不知道该相信什么。

如果我错了,有人可以指出一个可行的方法(从 javascript/jQuery 脚本连接到 mySQL 数据库)吗?

谢谢!

4

5 回答 5

1
$.get('script/SQL/testConnection.php', function(data) {
  alert(data)
});

您需要处理 Ajax 结果

于 2013-05-14T16:18:33.087 回答
0

您需要对您的 php 脚本回显的响应做一些事情。

$.get("script/SQL/testConnection.php", function(data){
    alert(data);
});

如果您使用的是 chrome of firefox,您可以调出控制台,启用 xhr 请求日志记录并查看原始标头和响应。

于 2013-05-14T16:21:43.960 回答
0

你可以看看 jQuery http://api.jquery.com/load/的 load()

于 2013-05-14T17:13:09.790 回答
0

您应该将所有功能放在文档就绪处理程序中:

$(document).ready(function(){
    function testConnectie() {
        $.get("script/SQL/testConnection.php");
    }

    $("#btnTestConnectie").click(function(e) {
        e.preventDefault();
        testConnectie();
    });
});

您必须打开浏览器的控制台才能看到来自服务器的响应结果。请确保在 testConnection.php 中将结束 PHP 括号更改为 ?>。

另一个注意事项,如果您正在测试 AJAX 功能,您必须在网络服务器上测试它们。否则,您可能不会得到任何结果,或者结果可能不是您所期望的。

于 2013-05-14T16:31:57.347 回答
0

Javascript 由浏览器(客户端)运行,而 php 在远程服务器上运行,因此您不能只从 js 运行 php 代码。但是,您可以调用服务器为您运行它并返回结果而无需重新加载页面。这种方法称为 AJAX - 阅读一段时间。

我看到您正在使用 jQuery - 它为此类调用提供了相当不错的 API。记录在案:这里

在你的情况下,js应该更像:

$(document).ready(function ()
{
   $("#btnTestConnectie").click($.ajax({
       url: '/testConnection.php',
       success: function(data) {
          //do something
       }
   }));
});

[编辑] 假设您在服务器上有一个简单的脚本,该脚本根据 GET 中给出的 id(如 www.example.com/userInfo.php?id=1)从数据库中提供数据。在最简单的方法中,服务器将运行 userInfo.php 脚本并传递带有键 id 的超全局数组 $_GET(准确地说是 $_GET['id']=1)。在正常调用中,您将准备一些查询,呈现一些 html 并回显它,以便浏览器可以显示一个新页面。

在 AJAX 调用中它几乎是一样的:服务器得到一些调用,运行一个脚本并返回它的结果。不同之处在于浏览器不会重新加载页面,而是将此响应传递给 javascript 函数,让您随心所欲地使用它。通常你可能只会发送一个编码的数据(我更喜欢 JSON)并在客户端呈现一些适当的 html。

于 2013-05-14T16:20:08.640 回答