日期:2014-05-16  浏览次数:20427 次

xmlhttp传字符串出错,但传数字正常,怎么回事
function   songsheng(id)
{
var   tip   =   document.getElementById( "tip ");
var   xmlhttp;
try
{
xmlhttp   =   new   ActiveXObject( 'Msxml2.XMLHTTP ');
}
catch(e)
{
try
{
xmlhttp   =   new   ActiveXObject( 'Microsoft.XMLHTTP ');
}
catch(e)
{
try
{
xmlhttp   =   new   XMLHttpRequest();
}
catch(e)
{
}
}
}

xmlhttp.onreadystatechange   =   function()
{
if(xmlhttp.readyState   ==4)
{
//关闭显示条

if(xmlhttp.status   ==   200)
{
alert( "送审成功! ");
} else
{ alert(xmlhttp.status);
} }
}
xlhttp.open( "get ", "ajax.aspx?type=1&ccid= "+id);       //这里id如果为数字程序就运行成功,否则就出错,为什么?
xlhttp.send(null);
}


麻烦大家看看应该怎么处理,谢谢!

------解决方案--------------------
ajax.aspx怎么写的?
ccid参数应该是为SqlCommand or SqlAdapter的SQL提供参数吧?
SQL语句可以接受!isNaN()类型的数据吗?
------解决方案--------------------
可能是字符集编码 乱码所致
------解决方案--------------------
既然是这样的报错信息那么有就可能是你引用这个值时出现了错误
比如onclick= "fun( ' <%=ccid%> ') "
如果你掉了中间的两上单引号会出现这样的问题。

------解决方案--------------------
试一下编码后传递值
xlhttp.open( "get ", "ajax.aspx?type=1&ccid= "+encodeURIComponent(id));