这似乎是一个重复的问题,但事实并非如此。我搜索了谷歌,但我的错误仍然存在。
问题是php脚本无法将$ _POST数组设置为ajax post请求传递的值。我有一个表单,在提交时,在与第一个表单相同的div中显示另一个表单。第二个表单包含一个提交按钮,以及一个发送ajax post请求的按钮,但它的值不是由php设置的。代码如下:
html代码:它是选择范围的值。
<i>Current Balance: <span id="bal_val"><?php echo $b; ?></span></i>
<div id="bal" style='color:green;'>
Ajax代码: 这里,编辑按钮是一个按钮(第一种形式),它可以显示第二种形式。第二种形式包含balbutton输入,它发送ajax请求。
$('#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>';
?>
另外,我尝试过以下解决方案:
答案 0 :(得分:1)
在这部分中,您没有提供有效的语法:
var dataString = {balance};
将上述内容更改为:
var dataString = {balance: balance};