我对Cakephp比较陌生,不幸的是不得不为这个项目使用它。我遇到的问题是我的POST请求正在返回一个错误,即使我正确地回显json字符串。在CakePHP上获取json POST请求的错误
这里是我的HTML和嵌入的JavaScript
<div class="submit">
<input type="submit" onclick="results();" id="submit"></submit>
</div>
<script type="text/javascript">
function results() {
var data = $('#ListingResultsForm').serialize();
$.ajax({
type: 'post',
url: '/listings/results',
data: data,
dataType: 'json',
success: function(data, textStatus, jqXHR) {
console.log(textStatus);
console.log(jqXHR);
console.log(data);
},
error: function(textStatus, errorThrown, jqXHR) {
console.log(textStatus);
console.log(jqXHR);
console.log(errorThrown);
}
});
return false;
}
这里是我的控制器
function results() {
$this->layout = 'ajax';
$this->autoLayout = false;
$this->autoRender = false;
$conditions = array();
if (!empty($this->data)) {
($this->data['Listing']['listing_countyid'] !== '') ? $conditions['listing_countyid'] = $this->data['Listing']['listing_countyid'] : '';
($this->data['Listing']['listing_area'] !== '') ? $conditions['listing_area'] = $this->data['Listing']['listing_area'] : '';
($this->data['Listing']['listing_neighborhood'] !== '') ? $conditions['listing_neighborhood'] = $this->data['Listing']['listing_neighborhood'] : '';
($this->data['Listing']['min_price'] !== '') ? $conditions['listing_listprice >='] = $this->data['Listing']['min_price'] : '';
($this->data['Listing']['max_price'] !== '') ? $conditions['listing_listprice <='] = $this->data['Listing']['max_price'] : '';
($this->data['Listing']['min_listing_sqfttotal'] !== '') ? $conditions['listing_sqfttotal >='] = $this->data['Listing']['min_listing_sqfttotal'] : '';
($this->data['Listing']['max_listing_sqfttotal'] !== '') ? $conditions['listing_sqfttotal <='] = $this->data['Listing']['max_listing_sqfttotal'] : '';
($this->data['Listing']['min_stories'] !== '') ? $conditions['listing_stories >='] = $this->data['Listing']['min_stories'] : '';
($this->data['Listing']['listing_yearbuilt'] !== '') ? $conditions['listing_yearbuilt >='] = $this->data['Listing']['listing_yearbuilt'] : '';
($this->data['Listing']['min_bathrooms'] !== '') ? $conditions['listing_bathstotal >='] = $this->data['Listing']['min_bathrooms'] : '';
($this->data['Listing']['max_bathrooms'] !== '') ? $conditions['listing_bathstotal <='] = $this->data['Listing']['max_bathrooms'] : '';
($this->data['Listing']['min_bedrooms'] !== '') ? $conditions['listing_bedrooms >='] = $this->data['Listing']['min_bedrooms'] : '';
($this->data['Listing']['max_bedrooms'] !== '') ? $conditions['listing_bedrooms <='] = $this->data['Listing']['max_bedrooms'] : '';
($this->data['Listing']['level1_mstr'] !== '') ? $conditions['listing_roommasterbrlevel'] = $this->data['Listing']['level1_mstr'] : '';
($this->data['Listing']['level1_laundry'] !== '') ? $conditions['listing_roomlaundrylevel'] = $this->data['Listing']['level1_laundry'] : '';
($this->data['Listing']['heat_type'] !== '') ? $conditions['listing_heatsystem'] = $this->data['Listing']['heat_type'] : '';
($this->data['Listing']['cool_type'] !== '') ? $conditions['listing_coolsystem'] = $this->data['Listing']['cool_type'] : '';
($this->data['Listing']['irrigation_system'] !== '') ? $conditions['listing_irrigationsrc'] = $this->data['Listing']['irrigation_system'] : '';
($this->data['Listing']['fireplace'] !== '') ? $conditions['listing_fireplaces'] = $this->data['Listing']['fireplace'] : '';
($this->data['Listing']['handicap'] !== '') ? $conditions['listing_handicap'] = $this->data['Listing']['handicap'] : '';
($this->data['Listing']['fence'] !== '') ? $conditions['listing_fence'] = $this->data['Listing']['fence'] : '';
$items = $this->Idx->find('all', array('conditions'=> $conditions));
$this->header('Content-Type: application/json');
echo json_encode($items);
return;
}
}
任何帮助是极大的赞赏。
什么这些的console.log的输出? –
textStatus返回和对象和errorThrown是错误 –
这里是响应头连接:保持活动 内容类型:应用程序/ json 日期:2011年8月18日星期四01:49:25 GMT Keep-Alive:timeout = 15 ,最大= 100 P3P:CP =“NOI ADM DEV PSAi COM NAV OURo STP IND DEM” 服务器:Apache/2.0.63(Unix)mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Transfer-Encoding:chunked X-Powered-By:PHP/5.2.9 –