在asp.net中使用ajax向方法发送请求

时间:2014-01-21 07:34:45

标签: asp.net ajax json

我的网站包含电子邮件地址。我有一个获取电子邮件ID的网页。现在我必须使用ajax将电子邮件ID发送到Web服务。我怎样才能做到这一点? 下面的代码放在aspx页面上。

<script type="text/javascript">
    $(".submit-btn").click(function () {
        var _Email = document.getElementById('txtemail').value;
        alert(_Email);
        $.ajax({
            url: "service/orderit.asmx/SendEmail",
            data: {_email:_Email}
        });
        //PageMethod("/service/orderit.asmx/SendEmail", ['_email', _Email])
    });

以下代码位于网络服务中。

public json_helper.GenericJS SendEmail(string _email)
{
    json_helper.GenericJS retval = new json_helper.GenericJS();

    return retval;
}

此网络服务位于service文件夹中,页面名称为orderit.asmx。 请帮忙。

1 个答案:

答案 0 :(得分:1)

如果你想要webservice可以返回JSON

您需要在WebService上添加属性

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetJsonContext(){

  // delcare some object 

  Car myCar = new Car();
  myCar.color="RED";


  //Return Json

  return new JavaScriptSerializer().Serialize(myCar)
}

如果你想将JSON发布到webservice

在webservice中,您需要创建一个构造对象,就像您的json格式

喜欢:{名字:'Aaron',年龄:'18',性别:'男孩'}。并且在你的WebService中需要创建一个具有名称,年龄,性别属性的对象

例如:添加结构

 public struct Person
    {
        public string name { get; set; }
        public string age { get; set; }
        public string sex { get; set; }
    }

和WebService方法

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string InputJsonContext(Person p){

  //do a some process

   string inputname = p.name;

//etc ...

}

Javascript:

 $.ajax({
                  url: "service/orderit.asmx/InputJsonContext",
                  data: {name:'Aaron',age:'18',sex:'boy'} 
              });