使用 Phonegap 处理 Windows Phone 上的 401 未经授权错误

2024-01-01

我正在 Windows Phone 7 上创建一个带有phonegap 的应用程序,需要在服务器上进行身份验证。当我们使用正确的用户名和密码登录时,我们会得到 200 状态。一切正常。但是,如果我们输入错误的登录名或密码,服务器会向我们发送 401 错误。这冻结了我的申请。我需要杀死它并重新启动它。所以不太练习。

我在计算机上使用 fiddler 检查响应,手机收到 401 错误,我在代码中管理此错误。这适用于我的其他平台(android 和 ios)。

所以我想知道如何处理这个错误。也许我可以更改 Windows Phone 项目上的 cs 文件来处理此错误。

欢迎任何帮助

这是代码

$.support.cors = true;
    $.ajax({
        type: "POST",
        dataType: "HTTP/1.1",
        url: 'https://xxx.xxx-xxx.com/issue/wrap',
        data: data,
        cache: 'false',
        async: false,
        error: function (data) {
            console.log(data);
            console.log("error");
            //navigator.notification.alert(data);
        },
        complete: saveToken
    });

thanks


我遇到了同样的问题,我找到的唯一解决方案是实现 Phonegap 插件。

这是我使用的 C# 代码:

namespace WPCordovaClassLib.Cordova.Commands
{
    [DataContract]
    public class PhonegapWindowsPhonePostObject
    {
        [DataMember(IsRequired = false, Name = "yourParamName1")]
        public string yourParam1;

        [DataMember(IsRequired = false, Name = "yourParamName2")]
        public string yourParam2;
    }

    public class PhonegapWindowsPhonePost: BaseCommand
    {
        public void post(string options)
        {
            PhonegapWindowsPhonePostObject pwppo = JSON.JsonHelper.Deserialize<PhonegapWindowsPhonePostObject>(options);

            try
            {
                System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    var data = "YOUR DATA STRING HERE"; //use the pwppo object to retrieve your parameters
                    var url = "URL OF THE SERVICE HERE";


                    WebClient wc = new SharpGIS.GZipWebClient();
                    var URI = new Uri(url);
                    wc.Encoding = Encoding.UTF8;
                    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                    wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc__UploadStringCompleted);
                    wc.UploadStringAsync(URI, "POST", data);
                });

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        void wc__UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
        {
            try
            {
                if (e.Result != null)
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.OK, e.Result));
                else
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Error 401"));
            }
            catch (Exception ex)
            {
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, ex.Message));
                // no http status code available
            }
        }
    }
}

以下是从您的应用程序调用插件的 Javascript 代码:

function loginToWebService(yourParam1, yourParam2) {

    var options = { "yourParamName1": yourParam1, "yourParamName2": yourParam2};
    cordova.exec(success, error,"PhonegapWindowsPhonePost","post", options);
}

我希望它能帮助你。

注意:Phonegap 2.8 版本没有解决与发行说明所述相反的问题...

Bye !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Phonegap 处理 Windows Phone 上的 401 未经授权错误 的相关文章

  • 为什么这个 jquery 代码不能在黑莓上运行?

    我正在使用 jquerymobile 开发phonegap 应用程序 但在黑莓 9780 中它没有向我显示警报 我的代码是 document addEventListener deviceready run false function r
  • 只允许输入字母

    如何过滤虚拟键盘中的非字母键 以下方法仅适用于拉丁字母 不幸的是 public static bool IsLetter int val return InRange val 65 90 InRange val 97 122 InRange
  • 在 ios 版 Ionic 中接收 URL

    我正在使用离子框架 我正在尝试设置一种从另一个应用程序接收网址的方法 就像 您在浏览器中 单击共享 然后将链接发送到另一个应用程序 我的应用程序 我找到了这个cordova https stackoverflow com questions
  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • Flash 对象未显示在phonegap android 中

    我已经在 android 手机间隙创建了一个应用程序 我有一个屏幕 我想显示一个静态 flash obj 所以我在屏幕 HTML 页面中放入了以下代码
  • 错误:执行命令“ant”,请确保已安装 ant 并将其添加到路径中

    我正在使用 Cordova 进行移动应用程序开发 我已经使用 npm 命令安装了 Cordova 安装后 我创建了一个 cordova 项目 每当我尝试向项目添加平台 android 时 它都会抛出以下错误 错误 执行命令 ant 请确保已
  • 如何将 PhoneGap 与 Visual Studio 结合使用

    我在 Windows 8 VS 2012 上开始使用 PhoneGap 时遇到问题 即 我不知道如何安装模板 我打开从PhoneGap下载的模板项目 但它们与VS2012兼容 我不知道从哪里开始创建我的第一个简单的 CRUD 应用程序 我想
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以
  • 为什么 cordova.file.documentsDirectory 为空?

    我正在尝试使用 cordova plugin file transfer 在http ngcordova com docs plugins fileTransfer http ngcordova com docs plugins fileT
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva
  • 构建流星应用程序后流星无法运行

    好的 我使用命令构建了一个流星应用程序 meteor build bundle debug server https my app url hosted on meteor Meteor 确实使用 cordova android pack
  • Phonegap(3.0.0) 相机第一次尝试不成功

    出于测试目的 我复制了在音隙相机 API http docs phonegap com en 3 0 0 cordova camera camera md html Camera我发出警报onPhotoDataSuccess测试函数何时被触
  • PhoneGap 应用程序在 Android 上无响应

    我创建了一个简单的 PhoneGap 应用程序 现在只需在您点击按钮时拍摄一张照片 然后在同一页面上的图像中显示该照片 我已经构建了iOS和Android版本 iOS版本运行良好 另一方面 Android 版本突出显示该按钮 但从不切换到相
  • Phonegap Cordova Statusbar 插件创建双栏

    我正在开发一个使用phonegap 的应用程序 通过 CLI 构建 而不是 PhoneGap 构建 我的 cordova plugin statusbar 插件有问题 打开时它将增加额外的条高度 这是它的样子 双高菜单栏 我通过两种方式实现
  • onDeviceReady 未在 PhoneGap hello world 应用程序中触发

    我正在尝试做一个简单的警报 测试 应用程序 但事件没有被触发 这是代码 function onLoad document addEventListener deviceready onDeviceReady false Cordova is
  • 在phonegap中的两个html页面之间传递数据

    我正在使用phonegap 来创建移动应用程序 我不想将所有内容都放在一个 html 页面中 因此我创建了其中的一些内容 每一个都附有 js 文件 如何在这些 html 页面之间发送数据 最便携和最简单的方法是使用本地存储 http doc
  • CreateJs Canvas 形状在 Windows Phone 上丢失坐标

    我正在制作一个 Createjs 和 html5 项目 在其中绘制一个形状 红色圆圈 当我单击圆圈时它会发出警报 它在所有台式机和 Android 手机上都能正常工作 除非我在 Windows Phone 中打开它 否则它在普通屏幕上工作正
  • cordova-plugin-whitelist 适用于 Android,但不适用于 iOS (Phonegap Build)

    我正在开发一个用 Cordova 封装并使用 Phonegap Build 构建的 JavaScript 应用程序 我们包括cordova plugin whitelist来自我们构建中的 npm 并添加了
  • 找不到图标路径的 Cordova Android 版本

    打字时cordova build android在 DOS 框中 没有构建任何内容 但我看到一条错误消息 错误 源路径不存在 resources android icon drawable hdpi icon png 我已经更新了 Cord
  • Visual Studio Cordova 模板/AngularJSTodo 示例项目调试问题

    全新安装 Visual studio 2013 update 4 和 Cordova 工具集 尝试启动基本 cordova 模板或 AngularJsTodo 示例项目的调试最终会在 js 文件末尾中断 看链接 我可以单击 继续 并进入 C

随机推荐

  • 在 Excel 中创建新函数

    我创建了一个 IF公式 在Excel中 想要将该公式转换为函数我阅读了多篇文章 但无法将公式转换为函数 公式如下 IF LEFT L3 4 0321 12 ABC type IF LEFT L3 3 021 543 XYZ type IF
  • 隐藏 wp-admin 使用 htaccess

    我想使用 htaccess文件将wp admin更改为admin panel 当访问链接admin panel时 它显示wp admin的内容 但是当访问链接wp admin时 它会注意到找不到 BEGIN WordPress
  • 文件下载问题:文件名中空格被截断!

    当我正在编写从服务器下载文件的代码时 使用 Response AddHeader Content Disposition attachment filename Server UrlPathEncode Path GetFileName F
  • 如果 CubeField.Orientation = xlPageField 如何设置 PivotField.HiddenItemsList 属性的值

    任务是自动化 OLAP 数据透视表数据过滤 我需要排除名为 sPivotFieldName 的数据透视字段中的一些项目 下面的代码工作得很好 With Worksheets sWorksheetName PivotTables sPivot
  • 科特林中的片段

    我被困在我的应用程序中 因为我必须用 kotlin 中的导航抽屉做一个片段 任何人都可以帮忙吗 我在网上搜索了很多东西 但我还没有找到任何东西 下面是我在主要活动中所做的两项 我希望它也出现在片段中 override fun onNavig
  • rxJava,定期刷新api数据

    我使用以下 observable 来调用改造 api 然后将响应保存到缓存文件中 Override public Observable
  • GLFW 打开 OpenGL 3.2 上下文,但 Freeglut 不能 - 为什么?

    我正在 Mac 上工作 我已经编译并安装了 FreeGlut 但我似乎无法使用它获取 OpenGL 3 2 上下文 不过 我在使用 GLFW 时可以毫无问题地获取它 所以在 GLFW 中 这段代码工作得很好 glfwOpenWindowHi
  • 如何强制 Firestore 客户端应用程序维护集合的正确文档计数?

    Firestore 无法查询集合的大小 因此如果客户端应用程序需要知道此值 则需要对另一个集合中的文档进行一些维护来保存此计数 但是 它要求客户端正确执行事务 以便在添加和删除文档时保持此计数最新 恶意或损坏的客户端可能会独立修改集合或计数
  • 带图片背景的点领导者

    所以我正在为一家餐厅建立一个网站 但我陷入了困境 我正在尝试在那里创建菜单 这个想法是将食物名称向左对齐 价格向右对齐 并用点填充它们之间的空白 像这样 汉堡 4 00 美元 XXL 汉堡 4 00 奶昔 4 00 美元 我找到了几种解决方
  • 在 Android 中使用 putSerialized

    putSerialized 坏了吗 当我使用 putSerialized 传递 null 时 FillSummary class 会按其应有的方式启动 然而 如果我传递 TestSerial 对象 Android 就会强制关闭 我需要做什么
  • PyDev 无法识别 PyQt5

    我正在关注 pyqt 教程 并得到以下代码 import sys from PyQt5 QtCore import from PyQt5 QtGui import from PyQt5 QtWidgets import class Exam
  • api-platform.com 无法为该类型的项目生成 IRI

    我正在尝试设置我的第一个 api 平台实例 并且遇到了一些关于 IDE 的可能是菜鸟问题 我想做的是设置一个注册和重置实体 以便处理来自应用程序的注册和密码提醒 然后将实体传递给自定义控制器以进行一些检查 平衡和邮件 还没有抽出时间 但在发
  • “center_horizo​​ntal|center_vertical”和“center”之间有什么区别

    我想将图像置于线性布局的中心 有什么区别吗 android gravity center horizontal center vertical and android gravity center 不 没有区别 根据源码 public st
  • 与(有符号)枚举值的按位运算

    我正在使用标志的枚举值 typedef enum a 0x00 b 0x01u the u has no influence as expected c 0x02u the u has no influence as expected en
  • PHP:如何使用php捕获浏览器窗口屏幕?

    首先 我不确定是否可以用php捕获浏览器窗口屏幕 那么 怎么做 如果可能的话 最好只捕获网站内容 不包括菜单栏 工具栏 状态栏等浏览器部分 Thanks 有imagegrabscreen http php net manual de fun
  • PHP 5.x 是否有某种 HashSet 或 Set 类?

    我已经习惯了 JavaHashSets ArrayLists和别的Collections 但我现在正在开发一个 PHP 项目 我需要创建一个集合 用对象 在本例中为字符串 填充该集合 但该集合只能包含每个对象一次 另外 我想最终从该集合中删
  • 如何将 mysql 数据库从 phpmyadmin 推送到heroku 的cleardb?

    我正在使用 WAMP 服务器来运行我的 php 应用程序 我在 phpmyadmin 中有一个数据库 BOOK 我怎样才能将这些数据推送到heroku 我已经使用 add on 将cleardb 添加到我的应用程序中 heroku conf
  • jquery - 选择所有带有 js 数组名称的复选框

    我想以如下形式使用 JQuery 检查全部 功能 http jetlogs org jquery jquery select all html http jetlogs org jquery jquery select all html 我
  • MySQLdb、mysqlclient 和 MySQL 连接器/Python 之间有什么区别?

    所以我一直在尝试用 python 进行一些数据库更新 在设置整个开发环境时 我遇到了这三件事让我头晕 There s MySQLdb http mysql python sourceforge net MySQLdb html There
  • 使用 Phonegap 处理 Windows Phone 上的 401 未经授权错误

    我正在 Windows Phone 7 上创建一个带有phonegap 的应用程序 需要在服务器上进行身份验证 当我们使用正确的用户名和密码登录时 我们会得到 200 状态 一切正常 但是 如果我们输入错误的登录名或密码 服务器会向我们发送