jQueryUI 自动完成 - 编码问题

发布于 2024-12-03 09:51:59 字数 815 浏览 1 评论 0原文

我在 jQueryUI 自动完成中编码时遇到问题。 服务器端应用程序是 PHP,并使用标头发送此查询的回复:

Content-Type: application/json, charset=UTF-8

这是自动完成代码:

$('#city').autocomplete({
    source: 'ajax_get_cities.html',
    dataType: "json",
    minLength:3
});

当我输入:kra(预期结果是:Kraków)时,我得到回复(从 Firebug 原始回复复制):

[{"city":"Krak\u00f3w"}]

并且自动完成不显示此结果.
数据库表、字段、连接、PHP文件,全部都是UTF-8。
问题出在哪里?

更新
这是服务器端问题,基于 KohanaPHP 2.3.4 框架的 PHP 应用程序。 这是获取和显示结果的代码:

header('Content-Type: application/json, charset=UTF-8');
$mModel = new Partners_Model();
$str = $this->input->get('term', true);
$aCities = $mModel->getCitiesAjax($str);
echo json_encode($aCities);

当我显示 $aCities 数组时,我会得到正确的字符串。

I have problem with encoding in jQueryUI Autocomplete.
Server side application is PHP and send reply for this query with headers:

Content-Type: application/json, charset=UTF-8

Here is autocomplete code:

$('#city').autocomplete({
    source: 'ajax_get_cities.html',
    dataType: "json",
    minLength:3
});

When I type: kra (expected result is: Kraków) I get reply (copied from Firebug raw reply):

[{"city":"Krak\u00f3w"}]

and autocomplete doesn't display this result.
Database table, field, connection, PHP file, all is UTF-8.
Where is problem?

Update
This is server side problem, PHP application based on KohanaPHP 2.3.4 framework.
Here is code to get and display result:

header('Content-Type: application/json, charset=UTF-8');
$mModel = new Partners_Model();
$str = $this->input->get('term', true);
$aCities = $mModel->getCitiesAjax($str);
echo json_encode($aCities);

When I disply $aCities array then I get correct string.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心碎的声音 2024-12-10 09:51:59

本地数据可以是一个简单的字符串数组,或者它包含
数组中每个项目的对象,带有标签或值
财产或两者兼而有之。

将 label 属性添加到您的 json 响应中:

[{"label":"Krak\u00f3w"}]

DOCS: 自动完成小部件 | jQuery UI API 文档 - 选项“源”

The local data can be a simple Array of Strings, or it contains
Objects for each item in the array, with either a label or value
property or both.

add label property to your json response:

[{"label":"Krak\u00f3w"}]

DOCS: Autocomplete Widget | jQuery UI API Documentation - option "source"

逆光下的微笑 2024-12-10 09:51:59

将其添加到您的自动完成中:

    contentType: "application/json; charset=utf-8"

add this to your autocomplete:

    contentType: "application/json; charset=utf-8"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文