jQuery 1.11.1 我正在将表单加载到位于选项卡内的div中。表单通过AJAX提交到PHP文件。 某些jQuery函数(包括AJAX例程)都需要同时访问主程序和已加载的表单,因此我创建了一个js文件,该文件都会被两者调用,因为否则该表单将无法访问javascript中的JavaScript。主文件。
我在排除故障时遇到问题,其中一个问题可能是我真的不确定自己所在的目录。 我怀疑它可能找不到DBFunctions.php文件,因为服务器未收到请求。但是,我将URL更改为完整路径,但仍然失败。单击代码可以正常工作,并且表格可以序列化。然后,什么都没有。
主文件
<div>
<div id="UtilButtons">
<div>
<a class="btn" id="AddAdmin" href="javascript:void(0)">Add Program Admin</a>
</div>
</div>
</div>
pAddPA.php
<div class="SaveButton" id="ProgPAReg" data-formname="AddPA">Register</div>
jQueryEdit.js
$(document).ready(function()
{
$("#AddAdmin").click(function()
{
$("#UtilButtons").hide("slow");
$("#ReturnButton").show();
$("#AddPAFile").show();
$("#AddPAFile").load("include/pAddPA.php?PubCode="+PubCode);
});
// ======================================== //
// S A V E F O R M D A T A //
// ======================================== //
$('.SaveButton').click(function ()
{
var Sec = this.id;
var Name = $("#"+this.id).data('formname');
var Form = $("#"+Name);
var Data = Form.serialize();
Data = Data + "&Sec="+Sec;
console.log(Data);
$.ajax(
{
type: "POST",
url: "http://{path to file}/DBFunctions.php",
data: Data,
dataType: 'JSON',
success: function(data)
{
// Result message
}
});
}
});
DBFunctions.php (只是因为有人可能会请求它...永远不会到达这里。
session_start();
#====================================================
include("../include/connect.php");
$Conn = mysql_connect($HOST, $USER, $PASSWORD) or die(mysql_error());
mysql_select_db($DBName, $Conn) or die(mysql_error());
#====================================================
$Log = array();
$Error = array();
$Message = "";
$ErrorCount = 0;
switch($_POST[Sec])
{
case "ProgPAReg":
{
// Save to database
echo json_encode(array("Message"=>$Message, "Log"=>$Log, "Error"=>$Error));
} break;
}
我不太确定所加载的文件是否认为它在其本地目录或调用程序中(这很高兴知道),但是无论如何我还是将完整的URL路径放入了PHP处理文件中,因此那应该没有什么不同。由于主程序和加载的程序都使用相同的js文件(jQueryEdit.js),因此我尝试删除该文件并进行测试,这当然会导致相对文件中的内容无法正常工作。
如果有一个请求发送到服务器,则它没有收到请求。 Web控制台网络什么也没显示。 console.log显示文件已正确序列化。
答案 0 :(得分:0)
让她真正困惑的是,我看不到从AJAX到服务器的任何发送。我仍然不知道为什么。它开始工作了。但是我没有得到回应。我从没想过要看的地方是包含在页面顶部的包含多个功能的包含文件。该文件指向错误的目录。但是,当找不到它时,不会产生任何错误。然后,当主文件尝试访问功能时,它只是失败了。同样,没有错误,因此没有返回任何内容。此后,我将首先检查我的包含项是否存在。