gpt4 book ai didi

javascript - PHP/HTML、AJAX 未调用/执行 PHP 文件

转载 作者:行者123 更新时间:2023-12-02 21:28:51 26 4
gpt4 key购买 nike

在提出这个问题之前,我在整个互联网上搜索了解决方案。也许这是我或我的解决方案。对此感到抱歉。

情况是,我有一个使用 PHP 构建的网络应用程序,并通过函数与数据库交互。每个页面都是一个 php,其中执行 html 代码。

问题是,当我想实现Ajax来更新数据而不刷新页面时,单击按钮时PHP文件没有被执行。

JavaScript 有两个功能:

  1. 警报按钮的序列化数据(有效)
  2. 使用 Ajax 运行 php 脚本(不起作用)

HTML 标题

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- JQuery -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous">

我使用 bootstrap-table,其中一列是一个按钮,其中包含以下内容:

<form id="form" class="favourite-form" method="post"><input style="display:none" type="hidden" id=5 name="subject_id" value=5 ><input type="submit" name="submit" value="Button"></form><div id="response"></div>

当点击按钮时,会弹出以下警报: enter image description here

脚本文件包含在php文件中:

include("favorite_ajax.html");

脚本文件包含以下内容:

$(document).on('submit', '.favourite-form', function(e) { 
e.preventDefault(); //prevent a normal postback and allow ajax to run instead
var data = $(this).serialize(); //"this" represents the form element in this context
alert(data); // this alert works

$.ajax({
method: "POST",
url: "process.php", // calling this php file doens't work
data: data,
success: function(data) {
alert("Data Save: " + data);
},
error: function(jqXHR, textStatus, errorThrown) //gracefully handle any errors in the UI
{
alert("An ajax error occurred: " + textStatus + " : " + errorThrown);
}
});
});

最后,php 文件有一个简单的函数来插入(虚拟)数据。 php文件经过测试,没有任何错误。

<?php
insertDummyData(1, 123);
?>

在另一个主题中,我还阅读了检查日志。当我按下按钮时,日志中也没有添加任何记录。

我很好奇,我做错了什么?花了几天时间来解决这个问题,直到现在还没有结果:(

最佳答案

  1. 在“process.php”中放置一个错误日志,以确保它确实被调用,如果没有像其他人建议的那样被调用,则可能存在路径、权限或脚本错误。
  2. insertDummyData/process.php 实际上是做什么的?它必须回显某些内容,就好像它正在向 AJAX 调用写入页面一样,以获得非空结果。例如,在process.php中

    <?php 
    $new_data = my_function_which_does_stuff_to_posted_data($_POST['data']);
    echo json_encode($new_data);
    exit();

关于javascript - PHP/HTML、AJAX 未调用/执行 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60673674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com