【发布时间】:2018-02-01 12:02:55
【问题描述】:
我正在尝试从 ajax 表单发送数据并使用 php 接收 POST。 页面错误:
注意:未定义的索引:第 2 行 C:\xampp\htdocs\testajax\dalej.php 中的数字。
在 index.php 中加载页面的脚本
<script type="text/javascript">
var info = {
content: "formularz"
}
loadContent('formularz');
$('body').on('click', '.btn',function(e) {
var content = $(this).data('content');
if(info.content != content) {
loadContent(content);
}
e.stopPropagation();
});
function loadContent(content) {
$.ajax({
url: 'loader.php',
type: 'post',
data: { Content : content },
success: function(response){
$('#content').html(response);
info.content = content;
}
});
}
</script>
loader.php
?php
$CONTENT = $_POST['Content'];
if($CONTENT == 'formularz'){
require_once('formularz.php');
} else if($CONTENT == 'dalej') {
require_once('dalej.php');
}
?>
formularz.php 中的脚本
<script type="text/javascript">
$(document).ready(function(){
$('#newForm').on('submit', function(e){
e.preventDefault();
var numer = $('#number').val();
$.ajax({
type:"POST", // <--- Should be post
data:{numer: numer},
url:'dalej.php'
});
});
});
</script>
尝试在此页面 dalej.php 中读取 POST
<?php
if(isset($_POST['numer'])){
echo $_POST['numer'];
}
var_dump($_POST);
?>
它看起来像 ajax 发送 POST 值但 php 无法读取它。:
var_dump($_POST);
显示这个:array(1) { ["Content"]=> string(5) "dalej" }
尝试了很多类似 Jquery Form plugin 之类的东西,或者将 $.ajax 更改为具有不同值的 $.post 但结果总是同样...我使用 Xampp 3.2.2 。对不起我的英语,谢谢你帮我解决这个问题:)
【问题讨论】:
-
您的错误和文件不匹配 - 根据您在第 2 行检查 isset($_POST['numer']) 的文件 - 这不会引发您看到的错误.请检查您的文件并编辑您的问题。
-
与您的问题相关的代码直接属于您的问题,而不仅仅是转储在外部网站上。请相应地编辑您的问题。 How to Ask
-
尝试在浏览器中调试 javascript 代码——如果你不知道怎么做——尝试在 javascript 函数的开头放置断点,看看它在声明和运行期间是如何进行的。此外,我在调试 AJAX 时个人所做的是,我在不同的步骤中执行 alert("dumb_text") 以查看函数是否正在向前发展。写回你能找到的内容。
标签: javascript php jquery ajax post