AJAX调用PHP页面,需要帮助吗

AJAX调用PHP页面,需要帮助吗,php,ajax,Php,Ajax,当我使用AJAX向PHP页面发送一些信息时,我不确定我是否做得对,其中包含一些连接到数据库并存储一段文本的代码。AJAX调用的PHP页面,与普通PHP页面相比,该PHP页面必须有所不同吗?它不工作了,我收到一条404找不到的消息 以下是PHP页面: <?php session_start(); $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE); $replyArticleId = isset($_POST['

当我使用AJAX向PHP页面发送一些信息时,我不确定我是否做得对,其中包含一些连接到数据库并存储一段文本的代码。AJAX调用的PHP页面,与普通PHP页面相比,该PHP页面必须有所不同吗?它不工作了,我收到一条404找不到的消息

以下是PHP页面:

<?php
session_start();
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);

$replyArticleId = isset($_POST['replyArticleId']) ? $_POST['replyArticleId'] : '';
$replyText = isset($_POST['replyText']) ? $_POST['replyText'] : '';

$replySign = $_SESSION['accountId'];

date_default_timezone_set("Europe/Stockholm");
$date = new DateTime();
$replyDate = $date->format('Y-m-d H:i:s');

$tableUser = DB_PREFIX . WS_DB_USER;
$tablePost  = DB_PREFIX . WS_DB_POST;
$tableComment = DB_PREFIX . WS_DB_COMMENT;
$tableArticle = DB_PREFIX . WS_DB_ARTICLE;
$tableReply = DB_PREFIX . WS_DB_REPLY;

// Add new comment

$query1 = "INSERT INTO {$tableReply} (replyArticleId, replyText,replyUserId,        
replyDate) VALUES    ('{$replyArticleId}','{$replyText}','{$replySign}',  '{$replyDate}');";
$query2 = "UPDATE {$tableArticle} SET articleDateUpdated = NOW() WHERE articleId =     {$replyArticleId};";
$res = $mysqli->query($query1) or die($mysqli->error);
$res = $mysqli->query($query2) or die($mysqli->error);

$mysqli->close();

这真的是您想要使用的URL吗
PAddReplyProcessAJAX.php
?它是否与调用ajax的页面位于同一目录中?

看起来JavaScript并没有在您认为的位置调用PHP脚本

打开FireBug控制台(或Chrome开发者工具),查看被查询的确切URL

尝试设置脚本URL的绝对路径,看看是否有帮助。根据您的URL结构,相对路径可能会有所不同


作为旁注,您的PHP脚本包含SQL注入漏洞。确保正确转义值或使用绑定参数。无论出于何种原因,您可能不关心应用程序中的安全性,但每当有人键入错误字符(如单引号)时,它仍然会崩溃。

您应该在这一行使用$\u GET(php页面)

您是ajax类型,也应该是“GET”

如果要传递POST数据,则需要传递有效的变量数据

查看此链接


您还必须确保目标文件php存在。检查文件名和文件位置。

检查您正在使用的url。。尝试在浏览器中访问相同的url。这与您的文件名和网站布局有关。您的web服务器/文件系统是否区分大小写,您的文件是否正确,等等。。?也许用真实的文件名和目录名以及两个URL(一个用于页面,一个用于AJAX处理程序)更新问题。我将文件名更改为AJAX_1.php,但仍然不起作用?我以前测试过GET,但不起作用!“如果要传递POST数据,则需要传递有效的变量数据。”??这对POST无效。我想使用POST,因为内容来自表单。@3D kreativ,如果要传递表单数据,则需要序列化表单。您可以使用以下数据:$('#formID').serialize(),interesting,“看起来JavaScript并没有在您认为的地方调用PHP脚本。”但您能简单地解释一下您的意思吗?“确保正确地转义值或使用绑定参数。”这是如何做到的?
$.ajax({
url: "PAddReplyProcessAJAX.php?replyArticleId=1", 
type: "POST",
dataType: "text",
data: "replyText=" + "test"
}); 



?>
$replyArticleId = isset($_POST['replyArticleId']) ? $_POST['replyArticleId'] : '';

$replyArticleId = isset($_GET['replyArticleId']) ? $_GET['replyArticleId'] : '';