Javascript 替换错误
Javascript replace error
我在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%20and%20Herzegovina
但更改为Bosnia%20and Herzegovina
并且不起作用的Bosnia and Herzegovina
时。问题出在哪里?
例如,为什么不使用为此而生的本机encodeURIComponent
函数?
或者,更好的是,让 jQuery 为您处理 URL 编码,使用 data
配置参数:
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');
}
});
}
jQuery $.ajax
可以通过 data
属性接收 url 参数,并应自动为您序列化它。
数据
要发送到服务器的数据。如果还不是字符串,则会将其转换为查询字符串。它被附加到 GET 请求的 url 中...对象必须是键/值对...
$.ajax({
type: 'GET',
url: '/drzava.php'
data : {
'slovo' : randomslovo,
'drzava' : rijec //no need to replace
}
success: function (returndata) {...},
error: function () {...}
});
如果你绝对想这样做,试试
rijec = rijec.replace(/' /g, "%20");
但encodeURIComponent
会更合适。
相关文章:
- 错误时用图像替换视频
- 使用 javascript 的替换函数的字符串语法错误
- 替换匹配函数给出了未定义的错误,但它与替换一起工作
- JavaScript:在 XMLSerializer 错误地解析实体后,用 html 160 实体替换三个空格
- JavaScript String.replace()中的错误,替换字符串“”$'&”;
- 另一个未捕获的类型错误::无法读取属性'替换'的未定义
- 我收到此错误:无法在 String.toJadenCase 调用未定义的方法“替换”
- 历史.js替换了错误的内容
- Javascript 替换错误
- 将 WebView 中的“网页不可用”错误替换为不那么丑陋的内容?(安卓)
- 未捕获的类型错误: 无法调用 null 的方法“替换”
- 如果在小型设备上,请将 iframe 替换为错误文本
- 未捕获的类型错误:无法调用未定义的下划线.js的方法“替换”
- Cufon 控制台错误,未替换字体.(引用错误:找不到变量:Cufon)
- 未捕获的类型错误:无法读取属性'替换'的未定义-下划线
- 为什么javascript替换会抛出错误
- 使用正则表达式替换XML属性内错误字符串中的嵌套引号
- 未捕获的类型错误:无法调用未定义的方法“替换”
- 如何在jquery验证插件中添加自定义错误替换消息
- Javascript错误替换字符串和url重定向