我已经在 TutsPlus - 30天内的jQuery 练习中停留了2天......第26课
为什么我的ajax成功函数拒绝将结果记录到控制台? 相反,index.php只是将文本回显到网页本身。 这就像一些语法问题阻止了成功回调甚至根本不运行。 其余的代码可以工作(它不依赖于这个特定的回调),但我不想继续,直到我发现错误。
var Actors = {
init: function( config ) {
this.config = config;
this.bindEvents();
},
bindEvents: function() {
this.config.letterSelection.on('change', this.fetchActors);
},
fetchActors: function() {
var self = Actors;
$.ajax({
url: 'index.php',
type: 'POST',
data: self.config.form.serialize(),
dataType: 'json',
success: function(results) {
console.log(results);
}
});
}
};
Actors.init({
letterSelection: $('#q'),
form: $('#actor-selection')
})
这是我的index.php页面......
<?php
require 'functions.php';
if ( isset($_POST['q']) ) {
connect();
$actors = get_actors_by_last_name( $_POST['q'] );
echo 'index returning your call with ' . $_POST['q'];
// echo json_encode($actors); return;
}
include 'views/index.tmpl.php';
?>
答案 0 :(得分:3)
指定dataType
时,例如'json'
,整个响应都需要符合该类型。
包含其他输出,例如:
echo 'index returning your call with ' . $_POST['q'];
在尝试解析时,响应将无效JSON和jQuery将error
。