我的网站包含电子邮件地址。我有一个获取电子邮件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
。
请帮忙。
答案 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'}
});