0
当我试图json_decode的json.stringify数据使其返回NULL如此使用** json_last_error知道错误,并将其返回以下错误消息使用ajax和javascript对象将值传递给另一个php ..?
语法错误,畸形JSON
任何人都可以验证我的JavaScript函数中包含的ajax代码,并发现错误完成。
下面是脚本代码
<script>
function callphp(){
var dataa = {};
dataa.dateipone = jQuery("#dateInputone").val();
dataa.dateiptwo = jQuery("#dateInputtwo").val();
dataa.ino = jQuery("#ino").val();
dataa.submit = "submit";
alert("Hello")
$.ajax({
url : "six-cuf.php",
type: 'POST',
data :JSON.stringify(dataa),
contentType : "application/json; charset=utf-8",
success:function(data)
{
if(data){
alert(data);
//console.log("Data from Server"+JSON.stringify(data));
}
else{
console.log("Data is empty");
}
},
error: function(xhr) {
alert('Error! Status = ' + xhr.status + " Message = " + xhr.statusText);
//console.log('Error! Status = ' + xhr.status + " Message = " + xhr.statusText);
}
});
}
下面是六cuf.php
$data = json_decode($_POST['dataa']);
print_r($data);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
if(isset($_POST["dateipone"],$_POST["dateiptwo"],$_POST["ino"],$_POST["options"],$_POST["dateone"],$_POST["datetwo"],$_POST["submit"]))
{
//php code
}
在dateipone ,dateiptwo和dateone,datetwo ......一个价值这双将是空的。
你绝对没有'$ _ POST ['DataA的]'你'$ _POST'。 –
@u_mulder ...你是说javascript对象的值没有发布到我的另一个php页面。 – Pradeep
'print_r($ _ POST)',看看你有什么 –