首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

javascript 调用websevice 内的方法不到 是咋回事?

2012-02-08 
javascript 调用websevice 内的方法不到 是怎么回事? - Web 开发 / Ajaxwebservice代码:C# codeusing Syst

javascript 调用websevice 内的方法不到 是怎么回事? - Web 开发 / Ajax
webservice代码:

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Data.SqlClient;using System.Data;using Maticsoft.BLL;/// <summary>/// Summary description for WebService/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService]public class WebService : System.Web.Services.WebService {    public WebService () {        //Uncomment the following line if using designed components         //InitializeComponent();     }    [WebMethod]    public string HelloWorld()     {                return "Hello World";    }    [WebMethod]    public string UserLogin(string username,string userpwd,string yzm)    {        if (new Maticsoft.BLL.UserInfo().Exists(username))        {            DataTable table = new Maticsoft.BLL.UserInfo().GetList(" (UserName='" + username + "' or UserMaill='" + username + "') and UserPwd='" + userpwd + "' ").Tables[0];            if (table.Rows.Count > 0)            {                return "OK";            }            else            {                return "NO";            }        }        else        {            return "用户名不存在";        }                  }    }

javascript代码
  function CheckUser_login() {
  document.getElementById("login").style.display="none";
   
  document.getElementById("userlogin").innerHTML = "<img src='/web/img/1322185.gif' />";
  http.Open("POST", "WebService.asmx/UserLogin", true);

  http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  http.send("username=" + document.getElementById("username").value + "&userpwd=" + document.getElementById("userpwd").value + "&yzm=" + document.getElementById("yzm").value);

   
  http.onreadystatechange = CheckUserlogin_GetResult;
   
  }

[解决办法]
ajax发送的数据需要构造成soap信封的格式~

直接发送键值对无效的~

参考这篇文章
Ajax调用WebService

热点排行