AJAX - 发送数据到我的php文件似乎无法工作。
AJAX - 发送数据到我的php文件似乎无法工作。
这个问题已经有答案了:
我对JQuery、AJAX和PHP仍然很陌生。
我想知道在这里我可能做错了什么。我正在接收关于客户的信息,并尝试在同一页上返回确认消息。
所以我遇到的问题:
1)点击提交按钮会刷新我的页面?为什么?
2)我的提交按钮下面有一个
。我如何能够用addCustomer.php的结果更改它的文本?
3)在customer.php文件中同时包含我的javascript和php代码是否可以?
编辑:我也正在使用Firefox的Tamper Data Addon-当我点击提交时,由于某种原因未发送数据。
customer.php
Add New Customer:
addCustomer.php
非常感谢您的帮助!
1)您可以在点击函数上使用"preventDefault"。
2)您可以通过显示"confirmMsg" div来添加成功消息(首先用CSS隐藏它)。
3)如果这对您有用,那就可以了。但我个人尽量将所有代码都放在一个地方,例如"main.js"
查看代码: ^我的更改^ "只需删除^即可使其运行 :)"
我认为这应该能解决问题:)
我添加了serializeArray函数,使其更具动态性,因为如果您有更多输入字段,则无需再次更改js代码。 http://api.jquery.com/serializeArray/
您可以在第一次打开firebug并重新加载页面,然后填写表格并提交后查看表格发送的内容。您将在"控制台"选项卡中看到一些变化;)
我希望这可以帮助您解决问题。
好的,按顺序回答你的问题:
-
你应该能够在Firebug(你在使用Firebug,对吧?)的控制台选项卡中检查到,addCustomer.php是被你的Ajax请求调用的终点。如果无法检查,你可以将以下代码添加到你的脚本中:
$('#confirmMsg').ajaxComplete(function(e, xhr, settings) { $(this).text('The response from your page is ' + xhr.responseHTML); });
-
我假设你在这里的问题是“我的提交按钮下有一个div...”。试试下面的命令(它是完整Ajax方法的缩写):
$.post('addCustomer.php', { add_LN : $('#add_LN').val(), add_FN : $('#add_FN').val(), add_PN : $('#add_PN').val(), add_DOB : $('#add_DOB').val() }, function(data){ $('#confirmMsg').text(data); });
-
最后,是的——在同一页上拥有你的脚本和PHP代码是可以的。PHP代码在被渲染到浏览器之前在服务器上执行,而JavaScript在客户端执行,在页面被传送后执行。