Php 通过AJAX发送时数据丢失
我想向从AJAX请求调用的PHP脚本发送两个值。不知何故,我的数据没有被传递到PHP脚本 也许我在什么地方做错了什么。我能了解一些情况吗? 还有我的PHP,AJAX请求的去向Php 通过AJAX发送时数据丢失,php,jquery,json,ajax,Php,Jquery,Json,Ajax,我想向从AJAX请求调用的PHP脚本发送两个值。不知何故,我的数据没有被传递到PHP脚本 也许我在什么地方做错了什么。我能了解一些情况吗? 还有我的PHP,AJAX请求的去向 $id = $_POST['id']; $viewed_comments = $_POST['comm']; $level_code = $_SESSION['level_code']; $action = 'view'; $viewed_date = date("Y-m-d
$id = $_POST['id'];
$viewed_comments = $_POST['comm'];
$level_code = $_SESSION['level_code'];
$action = 'view';
$viewed_date = date("Y-m-d");
$viewed_by = $_SESSION['session_admin_id'] ;
if($action == 'view')
{
$viewed_date = date('Y-m-d h:i:s');
$nots = $db->idToField("tbl_table","notes",$id);
if ($nots == "")
{
$date_string = "last viewed on|".$viewed_date."|" ;
}
else {
$date_string = $nots."last viewed on|".$viewed_date."|" ;
}
$fnc->update_is_viewed_for("tbl_table",$id, "$viewed_date", $viewed_by);
$notes_data = array("notes"=>$date_string,"viewed_comments"=>$viewed_comments);
$db->query_update("tbl_table", $notes_data, "id=$id");
}
if($db->query_update("tbl_table", $notes_data, "id=$id")){
http_response_code();
echo json_encode('updation success');
}else{
http_response_code(204);
}
这不是名字吗?您发送两个POST变量:
data: {
info: info,
comments: comments
},
但您使用不同的名称检索它们:
$id = $_POST['id'];
$viewed_comments = $_POST['comm'];
如果你
var\u dump($\u POST),你会得到什么代码> 使用序列化表单值它将解决数据丢失问题,将#frm
更改为表单id
$(document).ready(function(){
$('#frm').submit(function(event){
event.preventDefault();
var formValues = $(this).serialize();
$.ajax({
url:"update_entry.php",
method:"POST",
data:formValues,
dataType:"JSON",
success:function(data){
if (data == 'updation success') {
console.log('success');
}
}
});
});
});
你能发布PHP代码吗?你是如何确认数据没有被发送的?在浏览器的调试工具中检查HTTP请求时,数据是否不存在?有什么?JS在隔离状态下似乎很好。您是如何调试的,以确定JS或PHP中是否缺少这些值的?@SimoneRossaini刚刚更新,请看一看look@David我不知道该如何检测。你能帮我做吗在哪里做这个var\u dump($\u POST)代码>。我在PHP脚本上做了,但它没有显示任何东西它确实需要在PHP中,但是您必须在JS中显示它的返回,因此您可能需要从脚本中强制执行“成功”响应。不知道你是怎么做到的。@Andy:“什么也看不出来”-你在找什么?如果它位于AJAX调用调用的PHP脚本中,那么它将位于对该调用的响应中,您的代码当前忽略了哪些内容,但您可以在浏览器的调试工具中观察到这些内容。或者您可以将PHP更改为使用info
和comments
,而不是id
和comm
并查看它是否开始工作?@droopsnoot我更改了它。但仍然没有进入成功的功能
$(document).ready(function(){
$('#frm').submit(function(event){
event.preventDefault();
var formValues = $(this).serialize();
$.ajax({
url:"update_entry.php",
method:"POST",
data:formValues,
dataType:"JSON",
success:function(data){
if (data == 'updation success') {
console.log('success');
}
}
});
});
});