【发布时间】:2014-07-14 23:50:11
【问题描述】:
JQuery
function save() {
imageData = $(".sigPad").signaturePad().getSignatureImage();
consumeData = $('#consume').val();
$.ajax({
type: "POST",
url: "",
data: {'signatureasimage' : imageData, 'consume' : consumeData },
dataType: 'json',
cache: false,
success: function(response){
alert(response.msg);
/*var imageUrl = response['signature_image'];
d = new Date();
$(".signatureImage").attr("src",imageUrl);
if (response.status == true) {
window.location.href = "<?php echo ROOT_URL.'esignup/attendees_list.php?icode='.$icode;?>";
}*/
},
error: function(x,e){
if(x.status==0){
alert('You are offline!!\n Please Check Your Network.');
}else if(x.status==404){
alert('Requested URL not found.');
}else if(x.status==500){
alert('Internel Server Error.');
}else if(e=='parsererror'){
alert('Error.\nParsing JSON Request failed.');
}else if(e=='timeout'){
alert('Request Time out.');
}else {
alert('Unknow Error.\n'+x.responseText);
}
}
});
};
PHP
$data = array();
$confirmationData = array();
$data['attendee_id'] = $attendeeId;
$data['is_consume_the_provided_meal'] = $_POST['consume'];
$data['signature_image'] = $destination;
$data['confirmed'] = 1;
if($confirmedAttendee){
$sql = "SELECT * FROM `".TBL_ATTENDEE_CONFIRMATION."` WHERE `attendee_id` = '.$attendeeId.'";
$confirmationData = selectFrom($sql);
update_array('tbl_attendee_confirmation', $data, array('attendee_id' => $attendeeId));
$confirmationData = selectFrom($sql);
}else{
var_dump("it went through insert array");
insert_array('tbl_attendee_confirmation', $data);
}
$data = array();
$data['msg']="Testing, testing.";
echo json_encode($data);
Jquery ajax 确实使用数据 imageData 和 consumeData 发布请求。 imageData 和 consumeData 是字符串。复制到文件有效,数据更新表。问题是当我想获取 imageUrl 时出现 parsererror,因此我可以使用新的图像源更新 sigImage。我评论了用新的 imageURL 替换图像 src 的部分。有谁知道这个问题?
错误在代码中显示为"alert('Error.\nParsing JSON Request failed.');"。错误仍然显示在测试代码中。
【问题讨论】:
-
您能否提供您收到的完整错误消息?
-
只是为了澄清一下:success 是否正常运行,即使用 alert 命令,其余命令被注释掉,工作,当您取消注释行时它是否停止工作?并且是您的原始 php 代码,例如“echo json_encode($data)”(而不是 $return)。
-
@skarist 它仍然不适用于我提供的当前代码。是的,它 $return 以前是一个不同的变量。我将更改变量并检查它是否仍然不起作用。
-
变量 $return 改成 $data 还是不行。
-
如果您有权访问它,还请检查服务器上的 error_log。只是想知道您是否有包含 json 库的 php(json_encode)。在 php 5.2.x 之前默认是没有的(如果我没记错的话)