Php 为什么AJAX成功回调从未运行?
在30天的练习中,我被困在TutsPlus-jQuery上2天了。。。第26课 为什么我的ajax成功函数拒绝将结果记录到控制台? 相反,index.php只是将文本回显到网页本身。 这就像一些语法问题阻止了成功回调的运行一样。 代码的其余部分可以工作(它不依赖于这个特定的回调),但我不想继续,除非我发现了什么问题Php 为什么AJAX成功回调从未运行?,php,jquery,ajax,Php,Jquery,Ajax,在30天的练习中,我被困在TutsPlus-jQuery上2天了。。。第26课 为什么我的ajax成功函数拒绝将结果记录到控制台? 相反,index.php只是将文本回显到网页本身。 这就像一些语法问题阻止了成功回调的运行一样。 代码的其余部分可以工作(它不依赖于这个特定的回调),但我不想继续,除非我发现了什么问题 var Actors = { init: function( config ) { this.config = config; this.b
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';
?>
当指定
数据类型时,例如'json'
,整个响应需要符合该类型
通过包括附加输出,例如:
echo 'index returning your call with ' . $_POST['q'];
响应将不是有效的JSON,jQuery在尝试解析它时将出现错误。也添加错误
回调,并记录返回的内容。很可能是由于服务器上的PHP脚本错误导致调用失败。按
查看控制台。当需要数据类型:“json”
时,整个响应需要是单个json值。由于echo'index returning…
,响应将不是有效的JSON。好的,这里有一些智慧,我回到了正轨上-谢谢!(为什么不把它作为一个答案呢?)如果你想重复“index…”之类的话,就把你的数据类型(在你的AJAX函数中)改成HTML。这个问题不值得保留。我可以建议删除吗?