Javascript PHP函数不在“之后显示字符串”&&引用;
我正在使用CI和windows 7。 从我的视图文件中,我正在调用控制器中的ajax中的一个函数。 在我的ajax中,我以Javascript PHP函数不在“之后显示字符串”&&引用;,javascript,php,ajax,Javascript,Php,Ajax,我正在使用CI和windows 7。 从我的视图文件中,我正在调用控制器中的ajax中的一个函数。 在我的ajax中,我以Pack&Send的形式传递一个字符串,但当我在控制器函数中回显相同的字符串时,它只是回显Pack 我的ajax调用看起来像 <script> $(document).ready(function(){ $("select#items").change(function(){ var country_id =
Pack&Send
的形式传递一个字符串,但当我在控制器函数中回显相同的字符串时,它只是回显Pack
我的ajax调用看起来像
<script>
$(document).ready(function(){
$("select#items").change(function(){
var country_id = $("select#items option:selected").attr('value');
$("#state").html( "" );
$("#city").html( "" );
if (country_id.length > 0 ) {
$.ajax({
type: "POST",
url: "<?php echo site_url('ga_api/sample/ajax_second_dropdown');?>",
data: "country_id="+country_id,
cache: false,
beforeSend: function () {
$('#state').html('<img src="<?php echo IMAGE_PATH;?>loader.gif" alt="" width="24" height="24">');
},
success: function(html) {
$("#state").html( html );
}
});
}
alert(country_id);
});
});
</script>
在这里,它只是呼应Pack
我想可能是因为性格特殊。但我想这不是我试图将&
更改为,%
,'
,\
,\&
等的场景,在这些情况下,我得到了整个字符串。&
是一个特殊的字符:它用于。例如,?var1=x&var2=y
在通过HTTP发送变量之前,需要对变量进行URL编码:
data: "country_id="+encodeURIComponent(country_id),
我认为你的问题和这个问题一样: “&”是一个特殊的角色,你需要避开他(我不确定空格字符,但它是一样的)。使用此函数(encodeURIComponent)可转义除字母、十进制数字、-33;!~*'以外的所有字符() 以下是文件: 您的代码:
data:"country_id="+encodeURIComponent(country_id),
在将字符串传递给ajax之前,尝试对其进行URL编码。当您删除
和时,它是否有效?请尝试此操作<代码>数据:“country\u id=“+encodeURI(country\u id)”
jQuery接受对象作为其数据设置,因此您可以让它进行转义:data:{“country\u id”:country\u id},
我不明白,在您的示例中,country\u id
类似于第一个示例中的var1
。所以不会有&
,因为只有参数?@a.L正确。但是如果变量country\u id
中有&
,则第二部分(在&
之后)将被视为var2
。好的,我知道了,谢谢。我感到困惑的是,country\u id
应该是一个数字(就像大多数id一样),而不是一个字符串。
data:"country_id="+encodeURIComponent(country_id),