这是一段代码,但是执行时没起作用。alert(1)后面的都没反应。
function validname(obj) {
if (obj != null && obj != '') {
var url = "validname.action";
var params = Form.Element.serialize("userName");
                        alert(1);
new Ajax.Request(url, {
method : 'post',
parameters : params,
onComplete : processResponse,
asynchronous : true
});
}
}
function processResponse(request) {
var str = request.responseText.parseJSON();
var msg = str.msg;
document.getElementById("namemsg").innerHTML = msg;
这是prototyp.js的版本prototyp.js,json.js都可以引用到,请问问题出在哪里呢?

解决方案 »

  1.   

    我没有用过prototyp.js
    尝试在
    function processResponse(request) {
       alert(request);
       ////
    }
    如果alert了证明你的值不正确、
    没有alert证明你后台没有返回!
    那么在后台设置断点、看看有没有进入你的validname.action里面!
    没有进入就是你路径的问题了.....
      

  2.   

    根本没有进入validname.action里。其实很奇怪,前几天刚学这的时候写的代码运行好好的,今天再一试居然出问题了,再试试当初的那个,也出不了结果了。关于prototype.js路径,应该是获取到的,浏览器可以查看到,而且实验着放一个其他js文件在同一路径,从这页面也可以访问到。
      

  3.   

    很明显没有进入js中的json方法  你看下jsp引用的js是否有问题 
      

  4.   

    prototype.js和json.js都可以访问到,路径应该没问题
      

  5.   

    你用什么浏览器。ie8引用json是没有用的
      

  6.   

    我轻轻的问一句 ,你进入了validname()这个方法没?
      

  7.   

    Ajax请求能进入到validname.action中吗?
    validname.action这个类里面有没有问题?