使用 php 从 ajax 检索已发布的数据
Retrieving posted data from ajax using php
我从ajax调用中检索发布的数据时遇到问题,不确定出了什么问题。以下脚本的控制台输出显示了 ajax 调用之前的所有内容,但数据在连接器中不可用
function updateOptions(data){
console.log(data);
console.log(data.id);
console.log(data.action);
var data = {id: data.id, action : data.action};
console.log(data);
$.ajax({
type: 'POST',
url: 'ajax.connector.php?action=updateOptions',
data: JSON.stringify(data),
cache: false,
dataType : "json",
success: function(data, status) {
if(data.status == 'success'){
console.log('success');
console.log(data);
}else if(data.status == 'error'){
console.log('selects not updated');
}
},
error: function(data){
console.log('an error has occurred');
},
});
}
因此,前 4 个控制台.log条目正确显示数据,第一个控制台.log在成功条件下正确显示。第二个,显示:
Object {status: "success", msg: "Category added successfully", id: null, action: null, post: Array[0]}
连接器[更像导演]
case 'updateOptions':
error_log('Running updateOptions function ' . print_r($_POST, TRUE), 0);
$output = $sbb->updateOptions($_POST);
break;
记录以下内容:
Running updateOptions function Array'n('n)'n,
如果我尝试回显 $_POST['action'] 或 $_POST['data'] 或其他内容到日志中,我会得到一个未定义的索引。
我强制 ajax 调用在 php case 函数调用的类中返回成功:
public function updateOptions($data){
$output = array(
'status' => 'success',
'msg' => 'Category added successfully',
'id' => $data['id'],
'action' => $data['action'],
'post' => $data,
);
return $output;
}
所以 ajax 调用本身确实有效,它是未传递的数据。
不知何故,我没有从 ajax 帖子中获取 [或正确检索] 数据。
这里有什么问题?
您正在发布 JSON,$_POST 填充了键=值对,不要将 JSON 与 application/x-www-form-urlencoded
或 multipart/form-data
混淆(这是 php 用来填充$_POST
的。要使用 jQuery.ajax 发送application/x-www-form-urlencoded
数据,请将一个包含数据作为数据参数的对象传递
data: data, // removed JSON.stringify
相关文章:
- 如何在corona sdk中从CK编辑器中检索数据
- 使用javascript进行JSON数据检索
- 使用JSON数据检索AJAX外部成功函数
- 将jquery HTML方法中的数据检索到数组中
- PHP/MySQL 时间数据检索和创建倒计时
- 将数据库数据检索到JSON-移动登录表单
- angularjs中的异步数据检索
- 如何将索引数据库表数据检索到变量
- 简单的Firebase数据检索
- 如何在 JQGard 加载时禁用数据检索
- 如何将角度数据检索到其他JS文件中
- 异步数据检索和缓存
- 如何从服务中将数据检索到指令(angularjs)中
- 动态表单字段和数据库数据检索
- PHP post请求数据检索使用Jquery AJAX
- javaScript中的异步数据检索
- Json数据检索jquery
- 在Firebase中使用Ionic异步数据检索的问题
- JQuery事件处理与数据检索通过POST
- Angular将特定数据检索到$scope变量中不起作用