我创建它采用了Chrome扩展http://loopj.com/jquery-tokeninput/添加标记,请参阅前面的问题 。
我很困惑,如何从我的服务器结果被tokenInput处理。 下面的文章, 什么是JSONP? ,表明我需要添加一个回调查询参数来获得跨域JSONP工作:
$(function() {
$("#token").tokenInput("http://localhost/token/search?callback=jsonprocess", {
preventDuplicates: true,
crossDomain: true,
});
});
这是用来包裹在我的PHP代码的响应:
header('Content-type: text/javascript');
echo $this->request->query('callback') . '(' . json_encode($token_array) . ')';
exit;
然后调用jsonprocess()
在我的JavaScript方法。 然而,这是不可能的tokenInput实例的情景,所以我无法填充的结果。 这是正确的功能? 还是有办法让jQuery的tokeninput直接插件进程JSONP?
成功回调tokeninput:
ajax_params.success = function(results) {
cache.add(cache_key, $(input).data("settings").jsonContainer ? results[$(input).data("settings").jsonContainer] : results);
if($.isFunction($(input).data("settings").onResult)) {
results = $(input).data("settings").onResult.call(hidden_input, results);
}
};
...永远不会被调用。