asp.net – jQuery blackberry ajax问题
发布时间:2020-12-16 03:47:26 所属栏目:asp.Net 来源:网络整理
导读:我有一个asp.net Web应用程序,我正在向移动设备提供.我使用jQuery和jqMobile来实现功能和样式. 该应用程序在iPhone,iPad和Android设备上的safari,谷歌浏览器中运行良好,但我无法让它在除Blackberry火炬之外的任何其他工作.我有一个要求让它在版本5和6黑莓设
我有一个asp.net Web应用程序,我正在向移动设备提供.我使用jQuery和jqMobile来实现功能和样式.
该应用程序在iPhone,iPad和Android设备上的safari,谷歌浏览器中运行良好,但我无法让它在除Blackberry火炬之外的任何其他工作.我有一个要求让它在版本5和6黑莓设备上工作,但似乎登录的ajax请求总是调用错误函数,我不知道为什么. 该应用程序包含几个页面,但我甚至无法通过黑莓手机上的登录页面.有没有其他人设法让黑莓手机上的ajax电话工作?我真的不想为blackberrys打造一套独立的页面 这是登录页面aspx的代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Sicon.Web.WAP.App.Pages.Mobile.Login" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <link href="../../JavaScripts/jquery.mobile.min.css" rel="stylesheet" type="text/css" /> <script src="../../JavaScripts/jquery.min.js" type="text/javascript"></script> <script src="../../JavaScripts/jquery.mobile.min.js" type="text/javascript"></script> </head> <body> <form id="login" runat="server" accept-charset="utf-8"> <div id="Invoices" data-role="page" data-theme="b"> <div data-role="header" data-theme="b"> <h1> WAP - Login</h1> </div> <div data-role="content" data-theme="b"> <div align="center"> <img src="Sicon_LogoHz_rgb72.png" /> </div> <ul data-role="listview" data-inset="true"> <li> <input type="text" value="" name="username" placeholder="Username" id="username" /> </li> <li> <input type="password" value="" name="password" placeholder="Password" id="password" /> </li> </ul> <a class="login" data-role="button" data-theme="b">Login</a> <a data-role="button" data-theme="a">Cancel</a> </div> </div> </form> <script type="text/javascript"> var _ajaxEnabled = true; $(document).ready(function() { _ajaxEnabled = $.support.ajax; }); //Get base URL var baseUrl = "<%= ResolveUrl("~/") %>"; //Function to resolve a URL function ResolveUrl(url) { if (url.indexOf("~/") == 0) { url = baseUrl + url.substring(2); } return url; } //Login form Login link click $("#login a.login").click(function (e) { //Get the form var $form = $(this).closest("form"); //Perform login return app.login($form); }); //Login form submit $("#login").submit(function (e) { //Get the form var $form = $(this); //Perform login return app.login($form); }); //class to handle login var app = { login: function ($form) { var $Username = $("#username").val(); var $Password = $("#password").val(); //Call the approve method on the code behind $.ajax({ type: "POST",url: ResolveUrl("~/Pages/Mobile/Login.aspx/LoginUser"),data: "{'Username':'" + $Username + "','Password':'" + $Password + "' }",//Pass the parameter names and values contentType: "application/json; charset=utf-8",dataType: "json",async: true,error: function (jqXHR,textStatus,errorThrown) { alert("Error- Status: " + textStatus + " jqXHR Status: " + jqXHR.status + " jqXHR Response Text:" + jqXHR.responseText) },success: function (msg) { if (msg.d == true) { window.location.href = ResolveUrl("~/Pages/Mobile/Index.aspx"); } else { //show error alert('login failed'); } } }); return false; } } </script> </body> </html> 最后是登录方法的代码: /// <summary> /// Logs in the user /// </summary> /// <param name="Username">The username</param> /// <param name="Password">The password</param> /// <returns></returns> [WebMethod,ScriptMethod] public static bool LoginUser( string Username,string Password ) { try { StaticStore.CurrentUser = new User( Username,Password ); //check the login details were correct if ( StaticStore.CurrentUser.IsAuthentiacted ) { //change the status to logged in StaticStore.CurrentUser.LoginStatus = Objects.Enums.LoginStatus.LoggedIn; //Store the user ID in the list of active users ( HttpContext.Current.Application[ SessionKeys.ActiveUsers ] as Dictionary<string,int> )[ HttpContext.Current.Session.SessionID ] = StaticStore.CurrentUser.UserID; return true; } else { return false; } } catch ( Exception ex ) { return false; } } 解决方法
你没有说你正在使用哪个版本的jqmobile.版本4.1于4月7日发布.您必须记住,jqmobile尚未发布Beta版本,并且BB OS 5被列为B级(http://jquerymobile.com/gbs/),因此它正在获取较少关注.
你可能在你的应用程序中有其他ajax来处理但是登录是如此简单,为什么不重组为一个简单的表单帖子? 另外,承认BB5是一个问题: https://github.com/jquery/jquery-mobile/issues/1245 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 在ASP.NET MVC3中全局访问autofac依赖解析
- 如何把asp COM组件移植到aspx
- asp.net-mvc – 使用ASP.NET会员资格和配置文件与MVC,如何创
- asp.net – 如何访问listview中的按钮?特别是使用button_c
- asp.net-mvc – Accord.NET比较两个图像以确定相似性
- asp.net – 以特定间隔刷新更新面板
- ASP.NET MVC 3动态控件
- 当我使用ASP.NET传输文件时,为什么IIS7会忽略我的内容类型标
- ASP.NET主页面和内容页面中的表单元素
- asp.net-mvc – ASP.NET MVC视图模型命名约定
推荐文章
站长推荐
热点阅读