【发布时间】:2012-01-14 16:21:04
【问题描述】:
我正在开发一个网页,用户正在使用标签搜索文件。 我正在使用 jQuery Ajax 对 API(数据库)进行远程调用。 当我使用像 a-z 这样的非特殊字符时一切正常,但在使用 åäö 时会失败。
在服务器端,我使用的是 PHP。我打印标签以查看它是否“到达”并且所有 a-z 工作正常,但 åäö 根本没有显示。他们似乎没有“到达”。
有什么问题?
这是我的 jQuery 代码:
var tags = $('#tags').val();
$.ajax ({
type: "POST",
url: base_url + "search",
data: "tags=" + tags + "&limit=" + limit,
beforeSend: function (html) {
$("#search_results").html("Searching for files...");
},
success: function (html) {
$("#search_results").html(html);
},
error: function (html) {
$("#search_results").html('Something went wrong!');
}
});
这是我的服务器端代码:
echo ($_POST['tags']);
我在 SO 上搜索并查看了有关此问题的相关问题,但不幸的是没有帮助我。
更新
使用它解决了它!现在工作正常。
{tags: encodeURIComponent(tags), limit: limit}
【问题讨论】:
-
试试
"tags=" + encodeURIComponent(tags) + "&limit=" + encodeURIComponent(limit),或{tags: tags, limit: limit}。 -
这也不起作用:data: "tags=" + encodeURIComponent(tags) + "&limit=" + limit
-
{tags: tags, limit: limit} 也不起作用。
标签: javascript character-encoding tags