我对Javascript函数有一个疑问。当我在textarea
中插入文本时,函数使用AJAX将文本发送到PHP
脚本,但是当我插入两个或三个单词(例如Bosnia and Herzegovina
)时出现问题,则脚本无法正常工作。我用字符串替换:
function provjeraDrzave(rijec) {
rijec = rijec.replace(" ", "%20");
$.ajax({
type: "GET",
url: "/drzava.php?slovo=" + randomslovo + "&drzava=" + rijec,
success: function (odgovor) {
$('#rezultati').replaceWith($("<span id='rezultati'>" + odgovor + "</span>"));
},
error: function () {
alert('Doslo je do pogreske');
}
});
}
它应如下所示:当我插入
Bosnia and Herzegovina
时,必须将其更改为Bosnia%20and%20Herzegovina
,但将其更改为Bosnia%20and Herzegovina
,这将不起作用。问题出在哪里 ?? 最佳答案
例如,为什么不使用原生的encodeURIComponent
函数呢?
或者,甚至更好的是,使用data
配置参数让jQuery为您处理URL编码:
function provjeraDrzave(rijec) {
$.ajax({
type: "GET",
data: {
slovo: randomslovo,
drzava: rijec
},
url: "/drzava.php",
success: function (odgovor) {
$('#rezultati').replaceWith($("<span id='rezultati'>" + odgovor + "</span>"));
},
error: function () {
alert('Doslo je do pogreske');
}
});
}