我正在开发一个网页,用户可以在其中使用标签搜索文件。 我正在使用 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}
最佳答案
数据(标签)必须在使用 encodeURIComponent() 将其发送到服务器之前进行编码
关于javascript - 无法通过 jQuery ajax 发送特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863506/