Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换错误_Javascript_Jquery - Fatal编程技术网

Javascript替换错误

Javascript替换错误,javascript,jquery,Javascript,Jquery,我对Javascript中的函数有一个问题。当我在textarea中插入文本时,函数使用AJAX将文本发送到PHP脚本,但当我插入两个或三个单词时出现问题,例如波斯尼亚和黑塞哥维那,则脚本无法工作。我使用字符串替换: 函数provjeradzave(rijec){ rijec=rijec.替换(“,“%20”); $.ajax({ 键入:“获取”, url:“/drzava.php?slovo=“+randomslovo+”&drzava=“+rijec, 成功:功能(odgovor){ $('

我对Javascript中的函数有一个问题。当我在
textarea
中插入文本时,函数使用AJAX将文本发送到
PHP
脚本,但当我插入两个或三个单词时出现问题,例如
波斯尼亚和黑塞哥维那
,则脚本无法工作。我使用字符串替换:

函数provjeradzave(rijec){
rijec=rijec.替换(“,“%20”);
$.ajax({
键入:“获取”,
url:“/drzava.php?slovo=“+randomslovo+”&drzava=“+rijec,
成功:功能(odgovor){
$('rezultati')。替换为($(“+odgovor+”);
},
错误:函数(){
警报(“Doslo je do pogreske”);
}
});
}

它应该按如下方式工作:当我插入
波斯尼亚和黑塞哥维那
时,必须更改为
波斯尼亚和黑塞哥维那%20和%20黑塞哥维那
,但更改为
波斯尼亚%20和黑塞哥维那
,这不起作用。问题出在哪里

例如,为什么不使用本机的
encodeURIComponent
函数呢

或者,更好的是,让jQuery使用
data
config参数为您处理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');
        }
     });
}
函数provjeradzave(rijec){
$.ajax({
键入:“获取”,
数据:{
斯洛伐克语,
里耶克
},
url:“/drzava.php”,
成功:功能(odgovor){
$('rezultati')。替换为($(“+odgovor+”);
},
错误:函数(){
警报(“Doslo je do pogreske”);
}
});
}

例如,为什么不使用本机的
encodeURIComponent
函数呢

或者,更好的是,让jQuery使用
data
config参数为您处理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');
        }
     });
}
函数provjeradzave(rijec){
$.ajax({
键入:“获取”,
数据:{
斯洛伐克语,
里耶克
},
url:“/drzava.php”,
成功:功能(odgovor){
$('rezultati')。替换为($(“+odgovor+”);
},
错误:函数(){
警报(“Doslo je do pogreske”);
}
});
}
jQuery可以通过
数据
属性接收url参数,并应自动为您序列化

数据 要发送到服务器的数据。如果尚未转换为字符串,则会将其转换为查询字符串。它被附加到GET请求的url中。。。对象必须是键/值对

jQuery可以通过
数据
属性接收url参数,并应自动为您序列化

数据 要发送到服务器的数据。如果尚未转换为字符串,则会将其转换为查询字符串。它被附加到GET请求的url中。。。对象必须是键/值对


如果你真的想这样做,试试看

rijec = rijec.replace(/\ /g, "%20");

但是
encodeURIComponent
更合适。

如果您确实想这样做,请尝试

rijec = rijec.replace(/\ /g, "%20");
但是
encodeURIComponent
更合适