function createXMLHTTP()          //初始化AJAX 对象
{ http_request = false; if (window.XMLHttpRequest) { 
http_request = new XMLHttpRequest(); 
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');//修改header
}
} else if (window.ActiveXObject) { // 判定浏览器是 IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!http_request) {//初始化xmlhttp组件
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
return http_request;
}function trim(str)  //去2边空格函数

  return str.replace(/(^\s*)|(\s*$)/g,"");
}function mzrui_login()   //后台登录
{
var check_safe=document.forms["check_safe"];
var http_request=createXMLHTTP();
var str1=escape(check_safe.mzrui_name.value);
var str2=escape(check_safe.mzrui_pass.value);
if(str1 == "" || str2 == "")
{
alert("请输入用户名或密码");
}
else
{
var url=('ajax.php?action=mzrui_login&name='+str1+'&pass='+str2);   // URL地址
    http_request.onreadystatechange = function()
{
if(http_request.readyState == 4 && http_request.status == 200)
{
if(trim(http_request.responseText) == "error")
{
alert("对不起您输入的用户名和密码不对");
}
else
{
alert("对不起您输入的用户名和密码不对");
}
}
    }
http_request.open('GET',url,true);
http_request.send(null);
}
}ajax.php<?php
include"../connect.php";
if($_REQUEST["action"]==mzrui_login)              //ajax 后台登录

$str=unescape($_REQUEST["name"]);
$admin = mysql_query("select name,pass,jibie from mzrui_member where name='$str'");
$error = mysql_num_rows($admin);if($error <> '0')
{
  while($check_name = mysql_fetch_array($admin))
 {
   if(md5($_REQUEST["pass"]) == $check_name[pass])
   {
     echo iconv("GB2312", "UTF-8",'验证成功');
}
  }
}
else
{ echo 'error';}}IE 下面没有问题,firefox 控制台报url=('ajax.php?action=mzrui_login&name='+str1+'&pass='+str2); URL地址                 地址错误  

解决方案 »

  1.   

    把括号去掉看看var url='ajax.php?action=mzrui_login&name='+str1+'&pass='+str2; 
      

  2.   

    if($_REQUEST["action"]==mzrui_login)   改成
    if($_REQUEST["action"]=="mzrui_login")试试   
      

  3.   

    不行,好像跟AJAX.PHP里的代码没多大关系,主要我认为还是 JS里的问题,我弄了好久都没弄明白
      

  4.   

    对话框什么的,接受数据都正常,就是会报哪个URL 错误
      

  5.   

    红色部分放到上面试试
    http_request.open('GET',url,true); 
    if(http_request.readyState == 4 && http_request.status == 200) 

    if(trim(http_request.responseText) == "error") 

    alert("对不起您输入的用户名和密码不对"); 

    else 

    alert("对不起您输入的用户名和密码不对"); 


        } 
      

  6.   

    http_request.open('GET',url,true); 
    if(http_request.readyState == 4 && http_request.status == 200) 

    if(trim(http_request.responseText) == "error") 

    alert("对不起您输入的用户名和密码不对"); 

    else 

    alert("对不起您输入的用户名和密码不对"); 


        } http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
    加这句试试 还不行 把GET换成POST试试 
      

  7.   

    问题好像出在SEND 上面,我把这句删除后  就不会出现URL 错误了,但是数据返回不成功了。。
      

  8.   

    http_request.send("");
    试试不行就改成下面的
    var url=('ajax.php?action=mzrui_login');  // URL地址
    var queryString="name="+str1+"&pass="+str2;
    ```
    http_request.send(queryString);
      

  9.   

    今天调试了一下HTML 文件 , 可能问题在这里
      

  10.   

    ajax.php 
    <?php 
    include"../connect.php"; 
    if($_REQUEST["action"]==mzrui_login)              //ajax 后台登录 

    $str=unescape($_REQUEST["name"]); 
    $admin = mysql_query("select name,pass,jibie from mzrui_member where name='$str'"); 
    $error = mysql_num_rows($admin); if($error <> '0') 

      while($check_name = mysql_fetch_array($admin)) 

      if(md5($_REQUEST["pass"]) == $check_name[pass]) 
      { 
        echo iconv("GB2312", "UTF-8",'验证成功'); 

      } 

    else 
    { echo 'error';} } 是不是AJAX 这里有问题,麻烦各位看看
      

  11.   


    http://hi.csdn.net/invite.php?u=2015213&c=810cffb1d3ab9cab