通过.ajax调用发送json数据作为POST请求
sending json data as POST request via .ajax call
我无法使用.ajax方法通过"POST"请求发送数据。此脚本显示数据库中的现有数据,然后通过1) 首先删除与该id相关的现有行(通过GET请求发送),2)插入通过JSON发送的数据所反映的新行。
下面是我的Ajax呼叫
<script src="/jquery-1.10.2.min.js"></script>
<script src="/knockout-2.3.0.js"></script>
var collabModel = function(collab) {
var self = this;
self.collab= ko.observableArray(collab);
//To add empty row into the table
self.addcollab = function() {
self.collab.push({
Name: "",
Lastname: ""
});
};
self.save = function(form) {
var loc_id=<?php echo $loc;?>;
var data_1_1=ko.toJSON(self.collab);
$.ajax({
type:'POST',
url:'update_collab_info.php?loc_id='+loc_id,
// dataType: 'json',
data:data_1_1,
processData: false,
timeout:2000,
success:function(collab){
alert("This looks like"+data_1_1);
location.href="www/"
}
});
};
};
var data_from_database=<?php echo json_encode($result);?>; //This is to display any existing rows of information if present from the database
var viewModel = new collabModel(data_from_database);
ko.applyBindings(viewModel);
===========================PHP SCRIPT(update_collab_info.php)==================
<?php
$data_1=$_POST['data_1_1'];
$loc_id=$_GET['loc_id'];
$data_2=json_decode(stripslashes($data_1));
foreach($data_2 as $row){
//MYSQL query PDO PREPARE statement
//insert ($loc_id, $row['name'],$row['lastname'])
}
基本上,foreach语句在mysql中插入多行字段,其中$loc_id对所有字段保持不变。($loc_id是外键)。我无法将发布的数据输入到PHP脚本中。我确实收到了显示json数据的警报,但不知何故,脚本没有对其进行解释。脚本能够响应通过URL发送的GET变量。我可以删除响应get请求的mysql查询,但不知何故,我从以json形式发送的POST数据中获得了空数组。
如果您想以$_POST["data_1_1"]
的形式访问数据,则必须将其作为post-var而不是请求体发送。
$.ajax({
type: 'POST',
url: 'update_collab_info.php?loc_id=' + loc_id,
data: { data_1_1:data_1_1 },
timeout: 2000,
success: function (collab) {
alert("This looks like" + data_1_1);
location.href = "www/"
}
});
相关文章:
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- 为什么 AJAX POST 请求不起作用
- Ajax POST请求没有'我不了解PHP
- 防止双击执行两次jQuery post请求
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 如何使用Javascript获取POST请求填充的元素的值
- NodeJS中POST请求的请求体为null
- 在Fiddler JavaScript中识别POST请求
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 通过AJAX向同一页面发送POST请求,并使用$_POST获取值
- Ajax Post请求不起作用
- 如何在cloud9中向server.js发送post请求
- mootools表单json post请求
- 可以'无法在CasperJS中复制POST请求
- 使用用户名/API令牌javascript的Jenkins POST请求
- 在表单上注入javascript以发送post请求
- 使用javascript在post请求中传递用户输入变量
- 如何使用javascript进行post请求
- 如何在Javascript中通过POST请求发送XML数据