将值从jQuery发布到php文件并将数据保存在数据库中

时间:2012-01-08 02:55:33

标签: php jquery

我有两个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并将这些值对保存在数据库中。

1 个答案:

答案 0 :(得分:2)

$.post()没有JSON编码发送到服务器的变量 - 因此PHP中的json_decode调用是不必要的。