这似乎是一个重复的问题,但事实并非如此。我搜索了谷歌,但我的错误仍然存在。
问题是 php 脚本无法将 $_POST 数组设置为 ajax post 请求传递的值。我有一个表单,在提交时会在与第一个表单相同的 div 中显示另一个表单。第二个表单包含一个提交按钮,以及一个发送 ajax post 请求但它的值没有被 php 设置的按钮。代码如下:
html代码:提取span的值。
<i>Current Balance: <span id="bal_val"><?php echo $b; ?></span></i>
<div id="bal" style='color:green;'>
Ajax 代码: 在这里,编辑按钮是一个按钮(第一种形式),它可以显示第二种形式。第二种形式包含发送ajax请求的balbutton输入。
$('#edit').click(function(event){
event.preventDefault();
$('#bal').html('<button class="btn1 btn-1 btn-1b" id="balbutton" name="balbutton">Add 1000 Rs.</button>');
});
$('#balbutton').click(function(event){
event.preventDefault();
var bal = document.getElementById('bal_val').innerHTML;
var balance = parseInt(bal);
var dataString = {balance};
$.ajax({
type: "POST",
url: "admin.php/",
data: dataString,
contentType: 'application/x-www-form-urlencoded',
cache: false,
dataType: 'text',
success: function(result){
var data="";
console.log(result);
$('#bal').html('We will add 1000rs to your account soon');
},
error: function(error){console.log(error);}
});
});
php代码:
<?php
$bal=$_POST['balance'];
$bal=intval($bal);
echo $bal;
echo '<pre>';
echo print_r($_POST);
echo '</pre><br>';
echo '<pre>';
echo var_dump($_POST);
echo '</pre>';
?>
此外,我尝试了以下解决方案:
ajax post 请求和 PHP 错误的快照
最佳答案
在这部分,您没有给出有效的语法:
var dataString = {balance};
将上面的改成:
var dataString = {balance: balance};
关于javascript - ajax post请求上的未定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455419/