อันนี้ใน asmx ครับ
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void getMenus(string deptType)
{
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "application/json";
Context.Response.Write(js.Serialize(getMenusList(deptType)));
}
public static List<jmdMENUS> getMenusList(string deptType)
{
List<jmdMENUS> menuLists = new List<jmdMENUS>
);
try
{
using (masterEntities db = new masterEntities())
{
var menus = from p in db.MENUBASE
where p.DEPTPERMIT.Contains(deptType.ToUpper())
select new {p.MENUCODE,p.MENUCAPTION };
foreach (var menu in menus)
{
menuLists.Add(new jmdMENUS() {
MENUCODE = menu.MENUCODE,
MENUCAPTION = menu.MENUCAPTION
});
}
}
}
catch { throw; }
return menuLists;
}
เรียกใช้
var obj = JSON.stringify({ deptType: 'pcr' });
$.ajax({
type: "GET",
url: "../mobileService/menuContent.asmx/getMenus",
data: "deptType=pcr",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
},
error: function (e) {
alert("ขัดข้อง!");
}
});
คือมัน error 500 (Internal Server Error) ตลอดเลยครับ แล้วก็ เข้า error function
ทดสอบตัว Web service ก็คืนค่าเป็น json ปกติครับ ไม่ทราบว่าจะแก้ยังไงดีครับ ติดมา 2 วันแล้ว
ขอบคุณครับ
jquery รับส่งข้อมูลกับ web service (.asmx) ไม่ได้ครับ
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void getMenus(string deptType)
{
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "application/json";
Context.Response.Write(js.Serialize(getMenusList(deptType)));
}
public static List<jmdMENUS> getMenusList(string deptType)
{
List<jmdMENUS> menuLists = new List<jmdMENUS>);
try
{
using (masterEntities db = new masterEntities())
{
var menus = from p in db.MENUBASE
where p.DEPTPERMIT.Contains(deptType.ToUpper())
select new {p.MENUCODE,p.MENUCAPTION };
foreach (var menu in menus)
{
menuLists.Add(new jmdMENUS() {
MENUCODE = menu.MENUCODE,
MENUCAPTION = menu.MENUCAPTION
});
}
}
}
catch { throw; }
return menuLists;
}
เรียกใช้
var obj = JSON.stringify({ deptType: 'pcr' });
$.ajax({
type: "GET",
url: "../mobileService/menuContent.asmx/getMenus",
data: "deptType=pcr",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
},
error: function (e) {
alert("ขัดข้อง!");
}
});
คือมัน error 500 (Internal Server Error) ตลอดเลยครับ แล้วก็ เข้า error function
ทดสอบตัว Web service ก็คืนค่าเป็น json ปกติครับ ไม่ทราบว่าจะแก้ยังไงดีครับ ติดมา 2 วันแล้ว
ขอบคุณครับ