我有两个html文本输入字段和两个按钮。
第一个按钮保存数组中两个输入字段的值对。 第二个按钮将带有所有输入值对的数组发送到php文件,php文件将所有这些值保存在数据库中。 用户可以尽可能多地输入值,没有限制。
<input type="text" id="field1" name="field1" />
<input type="text" id="field2" name="field2" />
<button id="notizeValues">Notize</button>
<button id="sendToServer">Save</button>
我的问题是,服务器如何访问这些数据? 我正在尝试这个:
var values = [];
$('#notizeValues').click(function (){
var value1 = $('#field1').val();
var value2 = $('#field2').val();
values.push({'value1': value1 , 'value2': value2 });
});
$('#sendToServer').click(function (){
var sendValues = values;
$.post("achieveAdminAktion.php",{values: sendValues }, function(data){
$("#serverResponse").html(data);
});
});
现在出现了php文件的代码,但是我得到了错误的全部时间。
对于此解决方案,我收到警告:json_decode() expects parameter 1 to be string, array given
和echo函数中的错误:
isset($_POST['values']){
$values = json_decode($_POST['values'], true);
foreach ($values as $json) {
....save value in database....
}
echo $values; // nothing
}
这只是我尝试的很多例子中的一个例子,但没有任何效果。 我怎么解决这个问题? 如何在php文件中访问这些数据?如何遍历json-array并将这些值对保存在数据库中。
答案 0 :(得分:2)
$.post()
没有JSON编码发送到服务器的变量 - 因此PHP中的json_decode
调用是不必要的。