jQuery在点击按钮时返回PHP脚本
jQuery return PHP script on button click
目前,我有一个包含PHP脚本的HTML页面。 用户登录后,包含 php 脚本,数据将自动返回到页面,如下所示:
<section class="content">
<?php include("api/qnams_all.php"); ?>
</section>
该脚本包含一个查询,该查询返回 ID 为 #example1 的表。
使用该 ID,我将使用 jQuery DataTables 来格式化该脚本中的数据:
$('#example1').DataTable({
{
"dataType": "json",
"iDisplayLength": 25,
"bDestroy": true,
"stateSave": true
});
现在,我想做的是检查是否通过jQuery单击了按钮,如果是,则运行不同的php脚本。
所以在上面的那个部分标签中,我想做这样的事情:
<section class="content">
<button type="button" id="buttonSearch">Search</button>
<script type="text/javascript">
if('#buttonSearch').click(function()
{
// return <?php include("api/differentScript.php"); ?>
}
else
{
// return <?php include("api/qnams_all.php"); ?>
});
</script>
</section>
我确信JavaScript中的语法可能是错误的。 我试图展示一个我正在尝试做的事情的例子。
这能做到吗?
我会对页面使用ajax
调用。聆听PHP
中请求的内容并将其返回。然后将此结果添加到页面上的 HTML 对象中。
我会像这样处理它;
<?php
if(isset($_POST['script1'])){
include("api/differentScript.php");
exit;
}
if(isset($_POST['script2'])){
include("api/qnams_all.php");
exit;
}
?>
<div id='output'></div>
<script type="text/javascript">
$("#buttonSearch").on('click', function(){
$.ajax({
type:"POST",
url: "/page_location/",
data: "script1=true",
success: function(result){
$("#output").html(result);
}
});
});
$("#buttonSearch2").on('click', function(){
$.ajax({
type:"POST",
url: "/page_location/",
data: "script2=true",
success: function(result){
$("#output").html(result);
}
});
});
</script>
我不确定数据表是如何工作的,如果您要将数据存储在变量中,您可以通过将其更改为:
data: {script1: true, post_data_1: var},
不幸的是,如果不将某些内容发送回您的 Web 服务器,您尝试执行的操作将无法正常工作。PHP 是一种服务器端语言,因此一旦您使用 Jquery 进入浏览器,就无法再在该页面上执行 PHP。
假设您不想在初始请求中同时向下游发送这两个选项,您有两个选项:您可以在单击时重定向:
<script type="text/javascript">
if('#buttonSearch').click(function()
{
window.location.href = "/api/differentScript.php";
}
else
{
window.location.href = "/api/qnams_all.php";
});
</script>
或者,查看您的 URL 并注意到您正在使用 API,您可以使用 AJAX 进行异步调用:
<script type="text/javascript">
$('#buttonSearch').click(function()
{
$.ajax({
dataType: 'json',
url: "/api/differentScript.php",
data: {key: 'value'},
success: function(repsonse) {
var responseObject = JSON.parse(response);
//Do something with response object on page
},
error (message) {
//handle errors
}
});
</script>
如果 'differentScript.php' 以
return json_encode($results);
$results是一个PHP对象或数组,那么
JSON.parse(response)
将把你的PHP数组变成一个jquery对象。
你不能在 Javascript 中包含这样的 PHP 脚本。你必须为每个条件进行Ajax调用,然后通过PHP脚本做你想要的必要事情。如果您如上所述"包含"PHP脚本,则在页面加载时将直接包含它们,而不是单击任何按钮。另外,这不是正确的方法。
- 如何使用jquery返回php-json数组对象
- 如何从php返回php变量值以及html响应ajax
- 获取页面宽度Javascript-返回PHP变量
- Ajax表单不返回PHP数据
- 使用 ajaxForm Jquery 插件时返回 PHP 错误
- XMLHttpRequest以文本形式返回PHP和ASP
- 如果iframe内容为空,则返回PHP变量
- 使用ajax调用返回php值时出错
- 以JSON对象的形式返回PHP数据
- 返回php变量
- AJAX,返回php字符串并传递给javascript函数
- 查询嵌套的HTML标记以返回PHP中它的's属性的值
- 我如何发送多个请求相同的文件,并获得所需的响应返回php使用jquery ajax
- 试图从ajax返回php数据
- 在Javascript中返回PHP代码
- dojo.xhrGet返回PHP源代码,而不是文本响应
- 支付导航表单php支付网关和返回php(响应返回php页面)
- Javascript警报和返回php
- 为什么使用jquery调用php函数会返回php代码
- jQuery在点击按钮时返回PHP脚本