新建WebService供JQuery调用及用js判断是否要调用服务器的submit
2016-01-20 17:58
801 查看
今天在项目中新建了一个WebService,怎么也调用不起来。但在家里的电脑却是正常调用。家里的电脑使用jquery1.7.1,公司中的是1.10.2.也许是这个差别吧。细节不清楚。记录下后来是怎么处理的。
服务器的代码如下:
[WebMethod]
public void AttributeIsAllowUpdate(string AttributeID)
{
int par = Convert.ToInt32(AttributeID);
string result = JHDO2O.DAL.Mall.ProductionAttribute.IsAllowUpdate(par).ToString();
var rs= new {State=result};
HttpContext.Current.Response.Write(System.Web.Helpers.Json.Encode(rs));
HttpContext.Current.Response.End();
}里面用到的System.Web.Helpers.Json.Encode这个是公司中引用的dll,实际可以用其它的代替。
Ajax调用如下:
$.ajax({
type:'post',
//contentType: 'application/json',
url: '../../tools/mall_ajax.asmx/AttributeIsAllowUpdate',
data: { "AttributeID": "<%=hidrId.Value%>" },
dataType: 'json',
error: function (xmlhttprequest, state, msg) {
$.dialog.alert("读取属性编码出错!", function () {});
},
success: function (result, state, msg) {
AttributeIsAllowUpdate = result.State;
}
});刚开始写了contentType: 'application/json'这一句服务器怎么都报错说是不支持。后来查看文档。发现版本的原因。jquery改成了另一种。然后注销,使用默认的值。这个没有问题。需要注意到的是data: { "AttributeID": "<%=hidrId.Value%>" }, 这个中的{}号。它是没有在引用中的。刚开始以为是json数据都有大括号,于是都把大括号写入数据。结果总是通不过。后来改成这种格式才允许通过。注意它的type一定要post才能执行。因为Web服务都是需要post的。
附一个从客户端按钮来决定是否调用后台服务的submit.
<asp:Button ID="btnSubmit" runat="server" Text="提交保存" CssClass="btn" OnClientClick="return btnconfirm();" OnClick="btnSubmit_Click" />js代码
function btnconfirm(){
if (AttributeIsAllowUpdate == "False") {
$.dialog.tips("属性已被引用,不允许更改哦!", 2, "32X32/i.png", function () {
return true;
});
return false;
}
else {
return true;
}
};
代码比较简单,一看就懂。这里不叙述了。
服务器的代码如下:
[WebMethod]
public void AttributeIsAllowUpdate(string AttributeID)
{
int par = Convert.ToInt32(AttributeID);
string result = JHDO2O.DAL.Mall.ProductionAttribute.IsAllowUpdate(par).ToString();
var rs= new {State=result};
HttpContext.Current.Response.Write(System.Web.Helpers.Json.Encode(rs));
HttpContext.Current.Response.End();
}里面用到的System.Web.Helpers.Json.Encode这个是公司中引用的dll,实际可以用其它的代替。
Ajax调用如下:
$.ajax({
type:'post',
//contentType: 'application/json',
url: '../../tools/mall_ajax.asmx/AttributeIsAllowUpdate',
data: { "AttributeID": "<%=hidrId.Value%>" },
dataType: 'json',
error: function (xmlhttprequest, state, msg) {
$.dialog.alert("读取属性编码出错!", function () {});
},
success: function (result, state, msg) {
AttributeIsAllowUpdate = result.State;
}
});刚开始写了contentType: 'application/json'这一句服务器怎么都报错说是不支持。后来查看文档。发现版本的原因。jquery改成了另一种。然后注销,使用默认的值。这个没有问题。需要注意到的是data: { "AttributeID": "<%=hidrId.Value%>" }, 这个中的{}号。它是没有在引用中的。刚开始以为是json数据都有大括号,于是都把大括号写入数据。结果总是通不过。后来改成这种格式才允许通过。注意它的type一定要post才能执行。因为Web服务都是需要post的。
附一个从客户端按钮来决定是否调用后台服务的submit.
<asp:Button ID="btnSubmit" runat="server" Text="提交保存" CssClass="btn" OnClientClick="return btnconfirm();" OnClick="btnSubmit_Click" />js代码
function btnconfirm(){
if (AttributeIsAllowUpdate == "False") {
$.dialog.tips("属性已被引用,不允许更改哦!", 2, "32X32/i.png", function () {
return true;
});
return false;
}
else {
return true;
}
};
代码比较简单,一看就懂。这里不叙述了。
相关文章推荐
- jquery的$().each,$.each的区别
- php jquery 头像裁剪插件 croppic
- Jquery ajax 用户信息修改
- 写出高性能的JQuery
- JS,Jquery获取各种屏幕的宽度和高度
- jQuery获取事件元素
- Jquery中巧用Ajax的beforeSend方法
- jquery学习网站
- jquery.extend
- jquery跳出each循环
- jquery选择器
- jquery中attr和prop的区别
- 让浏览器支持 jquery ajax load 前进、后退 功能
- jQuery.merge( first, second )返回: Array
- jquery弹出对话框weebox的使用demo
- jQuery Mobile
- jquery一次绑定多个元素事件
- Jquery Ajax 保存
- js+JQuery实现返回顶部功能
- jquery遍历给每个子元素绑定事件