好的家伙我知道之前已经问过这个问题,但我对PHP和JavaScript很新,甚至在我开始寻找这个问题的答案之前甚至没有听说过ajax,所以不理解以前的答案。
我正在创建一个基本上是SQL数据库中的一堆视频的网站,它一次显示一个视频,我希望有一个下一个和上一个视频按钮。
然而,我无法通过这个ajax的事情,所以我的问题更简单。我看过这个问题/答案并认为它几乎总结了我的要求:
How do I run PHP code when a user clicks on a link?
我已经复制了那段确切的代码,
<script type="text/javascript">
function doSomething() {
$.get("backend.php");
return false;
}
</script>
<a href="#" onclick="doSomething();">Click Me!</a>
在我的backend.php
文件中我确实只有<?php echo "Hello" ?>
来测试它,因此我的理解是,当我点击链接时,javascript onClick事件被触发,而后者又调用{{ 1}}文件,表示向页面打印“Hello”。但是当我点击链接时它什么也没做。
最终显然我需要通过我的php函数和调用变量以及所有这些内容来获得更复杂的东西,但我想在大多数情况下为自己解决问题,所以我学习。但是我坚持这一点。此外,我在这里,我会问另一件事,我想“回馈”网站的用户回答我的问题,但我只能在HTML和CSS中做得很好,以回答其他人的问题,任何建议,能够在这里找到更简单的问题所以我可以回答一些问题。
提前致谢:)
答案 0 :(得分:3)
它没有任何结果,因为你不对结果做任何事情。我的猜测是,在你拍摄的例子中,它做了一些工作并且没有向用户显示任何内容。因此,如果您只是想要在服务器上运行某些内容而不向用户返回任何输出,那么您可以简单地执行此操作,并且它可以正常工作。
来自jQuery的.get()
documentation
你做了什么:
示例:请求test.php页面,但忽略返回结果。
$.get("test.php");
您想做什么:
示例:提示请求test.php(HTML或XML,具体取决于返回的内容)的结果。
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
答案 1 :(得分:3)
看看.get()
documentation。你的用法不正确。
您应该传递数据(可选)并处理返回的数据,至少:
$.get("backend.php",
{
// data passed to backend.php goes here in
//
// name: value
//
// format. OR you can leave it blank.
}, function(data) {
// data is the return value of backend.php
// process data here
}
);
如果您传递数据,则可以使用backend.php
在$_GET
上检索数据。在这种情况下:
$_GET['name'];
答案 2 :(得分:1)
$.get("test.php", { name: "John", time: "2pm" }, function(data) {
alert("Data Loaded: " + data);
});
答案 3 :(得分:1)
这会提醒数据。现在该函数只返回false。
$.get('backend.php', function(data) {
alert(data);
});
答案 4 :(得分:1)
您的代码不会按照您设置的方式打印到页面;你是那种方式的一部分,因为你已经调用了页面,但响应需要以某种方式处理。如果您在Chrome中打开开发人员工具,则可以单击“网络”选项卡,查看请求和响应,以验证您编码的内容是否真正有效,但现在您需要将响应放在某处。
通过将函数作为第二个变量传递到$ .get,您可以在页面上显示您的请求。尝试这样的事情:
$.get("backend.php", function (data) { $('body').append(data); } );
答案 5 :(得分:0)
您的代码未处理该数据。因此,您应该使用以下代码:
$.get("backend.php", function(response) {
alert(response);
})
或者,要在UI上显示该数据,请将其分配给任何html元素。
如需更多了解,请访问:jQuery.get()链接