jsonProperty<!DOCTYPE HTML>
<html>
<head>... [the rest of the page's source]
这是我的代码: PHP
<?php
private function validate_review(){
$json = json_decode($_POST['data']);
echo $json->review;
}
?>
AJAX:
<script>
var reviewData = {
title : $('#fieldtitle').val(),
raiting : starRaiting,
review : $('#fieldreview').val()
}
$.ajax({
type: 'post',
url: 'http://localhost/codeigniter/new-review',
data: {data: JSON.stringify(reviewData)},
success: function(result){
alert(result);
}
});
</script>
为什么响应还包含页面的来源,这完全是反直觉和奇怪的。帮助
答案 0 :(得分:1)
指定您的请求dataType
$.ajax({
type: 'post',
url: 'http://localhost/codeigniter/new-review',
data: {data: JSON.stringify(reviewData)},
dataType: 'jsonp', //tell the server that you expect json
success: function(result){
alert(result);
}
});
<?php
//DO NOT echo any output before header
header('Content-Type: application/json'); //said this response content is json
?>
而不是echo json内容
答案 1 :(得分:0)
我认为您的代码仍然包含模板。
private function validate_review(){
$json = json_decode($_POST['data']);
die($json->review);
}
这应该有用。