对 ASP.NET WebMethod 的 jQuery AJAX 调用

2023-12-09

我有以下 jQuery AJAX 请求:

function sendUpdate(urlToSend) {
    var code = AccessCode; 
    var url = urlToSend;
    var options = { error: function(msg) { alert(msg.d); },
                    type: "POST", url: "webmethods.aspx/UpdatePage",
                    data: "{ accessCode: " + code + ", newURL: '" + url + "' }",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    async: true, 
                    success: function(response) { var results = response.d; } }; 
    $.ajax(options);
}

以及对应的ASP.NET WebMethod:

[WebMethod]
public static bool UpdatePage(string accessCode, string newURL)
{
    bool result = true;
    try
    {
        HttpContext.Current.Cache[accessCode + "l"] = newURL;
    }
    catch
    {
        result = false;
    }

    return result;
}

所有这些都可以与“async:false”一起正常工作,但是我必须摆脱它,因为它会冻结浏览器,直到收到响应。现在上面的 AJAX 请求返回“未定义”。

谁能告诉我为什么会发生以及问题出在哪里?

Thanks.


您确实应该确保正确编码此 JSON。JSON.stringify最可靠的方法是:

data: JSON.stringify({ accessCode: code, newURL: url })

这确保了即使code and url变量包含一些危险字符,这些字符会破坏生成的 JSON 中的字符串连接,最后所有内容都会被正确编码。 JSON.stringify 方法自然内置于现代浏览器中,但如果您需要支持旧版,您可以包括json2.js.

另外,因为您的代码不再阻塞,所以您应该确保如果您调用此代码sendUpdate通过单击某个按钮或提交表单,您可以通过返回 false 来取消默认操作。

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

对 ASP.NET WebMethod 的 jQuery AJAX 调用 的相关文章

  • C++中delete和delete[]的区别[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的删除与删除 运算符 https stackoverflow com questions 2425728 delete vs delete operators in c 我写了一个包含两个指针的
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 如何将带有自定义分配器的 std::vector 传递给需要带有 std::allocator 的函数?

    我正在使用外部库 pcl 因此我需要一个不会更改现有函数原型的解决方案 我正在使用的一个函数生成一个std vector
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • C# 委托责任链

    为了我的理解目的 我实现了责任链模式 Abstract Base Type public abstract class CustomerServiceDesk protected CustomerServiceDesk nextHandle
  • 预处理后解析 C++ 源文件

    我正在尝试分析c 使用我定制的解析器的文件 写在c 在开始解析之前 我想摆脱所有 define 我希望源文件在预处理后可以编译 所以最好的方法是运行C Preprocessor在文件上 cpp myfile cpp temp cpp or
  • knockoutjs通过点击事件获取元素id

    我正在使用 knockoutjs 目前我认为有些东西看起来像这样 img src images image1 png 这允许我获取视图模型中的元素 ID pressedTab function tab console log Element
  • SlickGrid 回调onRowSelect?

    我想在用户选择表中的一行时添加回调 但我不知道该怎么做 这是我到目前为止所拥有的
  • 为什么要在 C++ 中使用 typedef?

    可以说我有 set
  • WPF。如何从另一个窗口隐藏/显示主窗口

    我有两个窗口 MainWindow 和 Login 显示登录的按钮位于主窗口 this Hide Login li new Login li Show 登录窗口上有一个检查密码的按钮 如果密码正确 我如何显示主窗口 将参数传递给 MainW
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • 使用 HTMLAgilityPack 从节点的子节点中选择所有

    我有以下代码用于获取 html 页面 将网址设置为绝对 然后将链接设置为 rel nofollow 并在新窗口 选项卡中打开 我的问题是关于将属性添加到 a s string url http www mysite com string s
  • 这个 JQuery 指令做什么 $(function(){...}) [重复]

    这个问题在这里已经有答案了 我最近一直在研究JQuery 尽管我知道一些东西 但书上有这样一句话我根本无法理解 function current entry 1 有谁知道这条线是如何工作的以及它的作用是什么 它类似于 JQuery 函数中的
  • 在 C++17 中使用 成员的链接错误

    我在 Ubuntu 16 04 上使用 gcc 7 2 并且需要使用 C 17 中的新文件系统库 尽管确实有一个名为experimental filesystem的库 但我无法使用它的任何成员 例如 当我尝试编译此文件时 include
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同

    System Net WebException 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同 在 System Net FtpWebRequest CheckError 在 System Net FtpWebReque
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • 创建丢失的目录/文件结构 - Python

    我正在编写一个函数来执行一些操作 log文件 程序检查是否 logs ansible log在继续之前存在 如果 logs ansible log不存在 它应该继续创建文件 目录结构 两者之前都不存在 try if not os path
  • ios:为照片添加实时滤镜效果

    我想编写一个可以拍照的ios应用程序 但我想实时过滤照片预览 我的意思是在名为 CamWow 的应用程序中实现 这是该应用程序的视频 http www youtube com watch v L o Bx08YZE 我很好奇这是如何做到的
  • EXPECTED_INTEGER — Square 支付门户存在问题

    我在通过电子商务网站接受付款时遇到问题 这似乎只是随机发生的 我之前已经毫无问题地接受了付款 但这种情况经常发生 Square API 没有任何错误代码的描述 Array 0 gt stdClass Object category gt I
  • 如何防止覆盖 WinForm 控件中的“默认”值?

    我正在尝试学习并掌握 C 的功能和方式 我曾经是一名 Visual Foxpro VFP 开发人员 多年来通过创建自己的要在应用程序范围内使用的用户控件基线 在视觉继承方面有些被宠坏了 在尝试学习 C 中的相似之处时 我陷入了困境 假设我派
  • Java 处理 TIF 图像

    我的问题是 如何成功地将 tif 文件加载到 Java 中的 Image 实例中 现在让我提供更多细节 我在 stackoverflow 上阅读了很多关于如何在 Java 中处理 转换 TIF 图像的线程 我已经尝试了很多 stackove
  • Codeigniter 中的密码验证

    大家好 当我在 codeigniter 中验证登录时 我遇到了这个问题 它似乎没有检查我的数据库中所需的密码 我的数据库中所需的密码是使用此哈希值 password hash password hash password PASSWORD
  • 发现熊猫的增长趋势[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 给定一组 时间序列 数据 如何以增加 减少 不稳定 不变等方式解释数据 Year Revenue 1993 0 85 1994 0 99 1995 1 01 1996 1 12
  • 使用 .htaccess 重写 URL

    我有这个网址 http www test com page php k m1ns 我想要这个 http www test com r m1ns 我的 htaccess Options FollowSymlinks RewriteEngine
  • 匹配任何垂直空白的正则表达式

    NET 是否有一个正则表达式模式可以匹配任何会导致多行的字符 即任何垂直空白字符 就像 perl 正则表达式那样 v 换句话说 有没有办法匹配 r 回车 n 换行 v 垂直制表符 以及 f 换页 以及 Unicode 字符U 0085 下一
  • Android 2 ViewPager同步滚动

    可以有2个吗ViewPagers同时滚动在一起 如果我开始滚动一个 另一个会执行完全相同的滚动行为 或者我应该实现 ViewPager 之外的其他东西 谢谢 最适合我的解决方案是通过MotionEvent in OnTouchListene
  • C++ 中的单例模式

    我是 C 新手 对 C 有点无知 我遇到了使用单例模式的 C 代码 class CFoo public static CFoo getInstance static CFoo self return self private CFoo CF
  • 批处理:将 .txt 文件中的行插入到 .txt 文件中

    我对批处理文件完全陌生 并且一直在修改简单的命令 我已经弄清楚如何将文本移动到另一个文件 查找一行等 但我希望能够将几行文本添加到已经存在的文本文件中 这是我到目前为止所拥有的 ECHO OFF CD C Documents and Set
  • 如何做好视网膜准备? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 当涉及到以下情况时 我需要做什么才能使我的网络应用程序 网站支持视网膜 在 iPhone 4 与 iPad 3 上 videos images fonts colors 我正在这
  • 在某些设备上,onServiceConnected 有时不会在bindService 之后调用

    我查看了许多具有类似标题的其他线程 但似乎没有一个线程涵盖了我的问题 那么 就这样吧 我正在使用 Google 市场扩展文件 apkx 库和示例代码 并进行了一些修改 此代码依赖于从处理后台下载 许可证检查等的服务接收回调 我有一个错误 服
  • 将 Tiva C 系列的 Makefile 转换为 CMakeLists.txt

    我想使用 CMake 构建过程在 C 中对我的 Tiva C Series LaunchPad 板进行编程 我下载了一个简单的示例来闪烁我使用构建的 RGB LEDmake我希望能够使用cmake开始一个更大的项目 以下是示例中提供的 Ma
  • Angular 6 - 无法在画布上动态添加文本

    我已经创建了画布元素 一旦用户借助键盘添加一些文本 单击 完成 按钮后 我想在画布上添加文本 我做了以下更改 1 image home html
  • 如何导航(重定向)到 Angular 中的另一个页面?

    单击按钮时我试图重定向到另一个页面 Page II 但不幸的是另一个页面组件加载在同一页面 Page I 上 到目前为止我尝试过的 应用程序组件 html
  • Laravel 验证输入数组

    我有一个表格
  • 哪个 JavaScript AJAX 框架最强大且非常轻量级?

    我一直在使用 jQuery 在基于 Web 的应用程序中实现整个 AJAX 魔法 但我决定我不需要 jQuery 拥有的所有这些令人惊叹的功能 除了它的 AJAX 功能 例如 ajax get post getJSON and load 您
  • 对 ASP.NET WebMethod 的 jQuery AJAX 调用

    我有以下 jQuery AJAX 请求 function sendUpdate urlToSend var code AccessCode var url urlToSend var options error function msg a