如何使用 Asp.net 设置 .asmx webservice 启用跨源

2024-03-16

我的网络服务代码是

 [WebMethod]
     public List<test> GetMachineData_List(string prefix, int person_id)
     {
         using (var db = new TestDB())
         {
             List<test> list = db.Fetch<test>("select id,name from machine_data_collection mc where mc.id=@0 and name like '%" + prefix + "%'", person_id);
             return list.ToList();
         }
     }

我的 jquery Ajax 调用是

 $("#textbx").autocomplete(
            {
                source: function (request, response) {
                 $.ajax({
                        url: 'http://localhost:4787/ws/webservice.asmx/GetMachineData_List',
                        data: { prefix: request.term.toString() ,person_id:1},
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        success: function (data) {
                            var jsonArray;
                            try {
                                jsonArray = $.parseJSON(data.d); // using jQuery
                            } catch (e) {
                                jsonArray = data.d; // using jQuery

                            }
                            response($.map(jsonArray, function (item) {
                                return {
                                    id: item.id,
                                    value: item.Name

                                };
                            }));

                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            var msg = XMLHttpRequest.responseJSON.d;
                            if (msg == undefined) {
                                alert( "Something went wrong !!" + errorThrown);
                            } else {
                                alert( "Error"+ msg);
                            }
                        }

                    });
                },
                minLength: 2,
                select: function (event, ui) {
                    var idControl = this.dataset.bindcontrol;
                    try {
                        alert(ui.item.id);

                    }
                    catch (ex) {
                        alert( "Oops .. Something happend unexpected !! .. Please redo ");
                    }
                }
            }

    );

我在 web.config 代码中启用跨源是

 <system.webServer>
    <httpProtocol>
      <customHeaders>
          <add name="Access-Control-Allow-Origin" value="http://localhost:21702/" />
          <add name="Access-Control-Allow-Headers" value="X-AspNet-Version,X-Powered-By,Date,Server,Accept,Accept-Encoding,Accept-Language,Cache-Control,Connection,Content-Length,Content-Type,Host,Origin,Pragma,Referer,User-Agent" />
          <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, OPTIONS" />
          <add name="Access-Control-Max-Age" value="1000" />
          <add name="Access-Control-Allow-Credentials" value="true" />
        </customHeaders>
    </httpProtocol>
  </system.webServer>

更改文本框中的文本时发生错误。 Ajax 调用的错误消息是:

XMLHttpRequest 无法加载http://localhost:4787/ws/webservice.asmx/GetMachineData_List http://localhost:4787/ws/webservice.asmx/GetMachineData_List。回复 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。起源 'http://本地主机:21702 http://localhost:21702' 因此不允许 使用权。响应的 HTTP 状态代码为 500。


添加以下代码片段Web.config file:

  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
   </webServices>
 </system.web>
 .............
..............
 <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Headers" value="accept, content-type" />
        <add name="Access-Control-Allow-Origin" value="http://localhost:4200"/>
        <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS" /> 
        **...(add additional add names and values when you need).......**
      </customHeaders>
    </httpProtocol>
  </system.webServer>

就我而言<add name="Access-Control-Allow-Origin" value="http://localhost:4200"/>Web 服务消费者应用程序(Angular)的基本 url 是http://localhost:4200.

您必须在该特定位置提及您的基本网址。

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

如何使用 Asp.net 设置 .asmx webservice 启用跨源 的相关文章

  • 运行 C# exe 文件

    复制 为什么我的 NET 应用程序在从网络驱动器运行时会崩溃 https stackoverflow com questions 148879 why does my net application crash when run from
  • 如何在C中将2个4位无符号数组合成1个8位数

    我有 2 个 4 位数字 X0X1X2X3 和 Y0Y1Y2Y3 我想将它们组合起来 这样我就可以创建一个像这样的 8 位数字 X0X1X2X3 Y0Y1Y2Y3 gt X0Y0X1Y1X2Y2X3Y3 我知道如何连接它们以创建X0X1X1
  • 如何用html标签替换字符串的一部分?

    如何在 jQuery 中用 html 标签替换字符串的一部分 比如说 div Who am i div 应该 div b Who b am i div 您可以使用html方法的回调函数和replace method div html fun
  • 如何获取 C# PriorityQueue 元素的优先级

    我正在初始化一个存储 XY 坐标的优先级队列 根据距原点的欧几里得距离确定优先级 我创建了一个自定义Comparer这使得它作为最大堆运行 PriorityQueue
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • 最有用的 jQuery 原生 API 函数

    前 5 10 个最常用的 jQuery 本机 API 函数是什么 请不要建议 jQuery 函数本身 因为毫无疑问这是最常用的函数 如果可能的话 还请提供它们所涵盖的场景 提出这个问题的原因是我尝试创建一个类似 jQuery 的 API充足
  • 如何在延迟加载期间在图像占位符顶部显示“正在加载”gif 图像

    我正在使用这个 jQuery 插件来延迟加载我的图像 惰性加载器 http www appelsiini net projects lazyload 它运行良好 我只想在所有尚未加载的图像之上显示一个 正在加载 图像 可能是 gif 当图像
  • 重定向后 HTML5 CORS 请求在 safari 中失败

    我正在使用 jQuery 制作 CORS 请求来完成 SSO 类型系统 用户登录 WordPress 同时使用钩子也登录 Moodle 我遇到的问题是 在 Safari 中 仅限 safari 7 当初始 POST 请求设置为 mudles
  • C++ fill() 与 uninitialized_fill()

    您好 我是初学者 我想知道容器的 fill 和 uninitialized fill 之间的区别 我在谷歌上进行了快速搜索 但没有得到很好的答案 有人可以帮助我吗 fill 将值 使用赋值运算符 分配给已构造的对象 uninitialize
  • 阻止用户取消选择列表框中的项目?

    我有一个列表框 里面有很多项目 用户可以单击某个项目来编辑其内容 如何防止用户取消选择所有项目 即 用户不应该无法选择任何内容 您的情况缺少一个案例 即清除列表后 您将选择列表中不再存在的项目 我通过添加额外的检查来解决这个问题 var l
  • C++20 views::join 在生成的嵌套范围::single_view 上进入无限循环

    我正在使用 GCC 实现 v10 2 和 v11 来处理 C 20 范围 测试的行为std views join https en cppreference com w cpp ranges join view 我尝试使用生成嵌套视图sin
  • 为什么 C++ 元组如此奇怪?

    我通常创建自定义structs将不同类型的值分组在一起时 这通常很好 而且我个人发现命名成员访问更容易阅读 但我想创建一个更通用的 API 在其他语言中广泛使用元组后 我想返回类型的值std tuple但发现它们在 C 中使用比在其他语言中
  • 我的 Opencv 应用程序处理速度非常慢

    我正在构建一个 OpenCV 应用程序 它从相机捕获视频 并在删除背景后将其覆盖在另一个视频上 我无法达到合理的速度 因为它以大约 1 fps 的速度播放输出 而我的背景去除以 3 fps 的速度工作 有没有办法以正常速度显示背景视频并以
  • C# 的 xml 序列化中是否有一个属性可以跳过空数组?

    C 的 xml 序列化中是否有一个属性可以跳过空数组 这将提高 xml 输出的可读性 好吧 你也许可以添加一个ShouldSerializeFoo method using System using System ComponentMode
  • Jquery 对话框部分视图服务器端验证“保存”按钮单击

    我有一个显示数据的表格 表格的每一行都有编辑按钮 单击编辑按钮时 将出现一个 jquery 对话框 其中包含用于编辑用户信息的表单以及保存和取消按钮 表单只不过是部分视图 按钮是部分视图的一部分
  • 在运行时将项目添加到 ToolStrip

    您好 我有一个带有 收藏夹 菜单的 ToolStripMenu 我想在运行时在 WinForms 应用程序中添加子项目 我有一个 datagridview 右键单击它会显示一个包含 添加到收藏夹 选项的上下文菜单 当该事件被触发时 我想使用
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • Sharepoint、ajax 和页面标题

    我对共享点和 ajax 功能有奇怪的问题 我们在 webpart 中放置了一个 UpdatePanel 当发生部分回发时 页面标题会丢失 我们发现临时的部分解决方案是将标题元素写入一行 并且不使用其中的任何空格或控件 甚至不使用文字控件 但
  • 如何将敏感数据从视图传递到控制器

    为了构造一个包含大量信息的实体 我需要执行一系列表单提交 每次我从控制器返回视图时 我都需要传递一些有关尚未建立的实体的 id 现在 我将这些信息注入隐藏字段 并在发回服务器时继续构建实体 这样的场景持续了好几次 我对这种传递敏感信息的方式
  • Bootstrap $('#myModal').modal('show') 不起作用

    我不知道为什么 但所有模态功能都不适用于我 我检查了版本和负载 它们都很好 我不断收到此错误消息 Uncaught TypeError modal is not a function 对于隐藏我已经找到了替代方案 代替 myModal mo

随机推荐

  • 通过套接字获取线路

    是否有一个 libc 函数可以执行与 getline 相同的操作 但可以使用连接的套接字而不是 FILE 流 解决方法是在套接字上调用 fdopen 这样做的时候需要注意哪些事项 这样做 不这样做的理由是什么 这样做的一个明显原因是调用 g
  • 判断表单输入是否有焦点

    我正在 AngularJS 中进行验证 如果有 3 种类型的错误 我会显示一个 div 对于必需的 我只想在页面以空值提交时才显示错误消息 div class error div 对于正则表达式验证 我希望它标记实时的默认行为 div cl
  • jquery onclick 添加左边距

    我正在尝试用 JS 做一些非常简单的事情 但我无法让它工作 我想当点击div添加一个负数margin left到另一个div 但我希望每次点击时都会发生div 而不是像现在这样一次 每次我点击我的 next nav 我想要 nav移动自 1
  • 使用 Devise 注销所有用户

    我在 ruby on rails 应用程序中使用 devise 我有一个使用设备的 User 类和 AdminUser 类 在我的管理面板中 我想注销所有用户 但不注销管理员用户 执行此操作的最佳方法是使用范围级别的注销方法 因此 如果您想
  • TransactionAttribute 注释 (@REQUIRES_NEW) 被忽略

    我遇到了两个单独的事务的问题 这些事务以与实际执行的顺序相反的顺序刷新到数据库 这是业务案例 存在 RemoteJob RemoteJobEvent 一对多关系 每次创建新事件时 都会获取一个时间戳 并将其设置在RemoteJob和Remo
  • 编译器如何知道在哪里可以找到#include

    我想知道 Mac OS X Windows 和 Linux 上的编译器如何知道在哪里可以找到 C 头文件 具体来说 我想知道它如何知道在哪里可以找到带有 lt gt 括号 include Users Brock Desktop Myfile
  • 嵌入式Linux中UART上的9位协议

    我正在尝试在嵌入式 Linux 中的 UART 上强制使用 9 位协议 目前我正在 am335x evm 板上对此进行测试 我计划使用坚持平价来做到这一点 理想情况下 我希望不需要实际修改 omap serial c 驱动程序的任何代码 9
  • 如何将用户从控制台的输入读取为 Unicode 字符串?

    一个C 初学者的问题 这是我目前拥有的 From tchar h define T x T x From tchar h define T x L x In MySampleCode h ifdef UNICODE define tcout
  • AUGraph 弃用是否意味着不再有音频渲染回调?

    我有一个带有详细渲染回调的应用程序 我怀疑是否可以使用 AVAudioEngine 来实现 无论如何 要将我的 AUGraph 渲染回调 具有多个总线 与 AVAudioEngine 一起使用吗 有示例代码吗 The 音频单元API htt
  • Dart 是否有 socket.io 端口?

    我使用这个简单的示例了解了 Dart 中的基本 websocket 功能 https github com financeCoding chat websocket dart https github com financeCoding c
  • 在Java程序中执行PowerShell命令

    我有一个PowerShell Command我需要使用它来执行Java程序 有人可以指导我如何做到这一点吗 我的命令是Get ItemProperty HKLM Software Wow6432Node Microsoft Windows
  • 以编程方式打开/关闭 WiFi 热点

    我需要帮助创建一个在热点模式下设置 Android WiFi 的 C 脚本 这是我设法创建的代码 public bool setAPEnabled bool enabled using AndroidJavaObject activity
  • Play框架和Slick自动数据库创建

    我正在使用 play 2 4 和 Slick 3 是否可以自动生成 ddl 脚本 它是进化吗 在官方文档中我找到了一些脚本 但是我应该将其放在播放框架中的哪里 http slick typesafe com doc 3 1 0 schema
  • alQuran 阿拉伯语语音识别

    我们如何根据以下内容比较两个音频文件或录音机文件Al Quran Al Quran相比之下有特殊的发音Arabic发音 是否可以做用户声音和方式的比较Al Quran发音是 我已经尝试过Google Speech to Text for A
  • Spring Boot如何在jsp页面导入react组件

    我正在创建 Spring boot 应用程序 我希望我的前端使用 React 问题来自于我无法找到一种方法来正确地将 React 组件集成到我的 jsp 页面中 这是组件的声明 ReactDOM render
  • 从 android vlc 媒体播放器获取当前帧

    我在用着VLC Android https code videolan org videolan vlc android为了在我的 Android 应用程序中播放 H264 RTSP 直播流 以下代码成功地将流视频渲染到表面视图上 Medi
  • 尝试将非空字符串设置为“System.Int32”类型

    实体框架抛出此异常 BranchIdentity 的 PasswordIterations 属性无法设置为 System String 值 您必须将此属性设置为 System Int32 类型的非空值 它抛出在这条线上 Validate u
  • 尝试启动库项目 Activity

    我有一个库项目和主项目 我尝试从主项目启动库项目中定义的活动 Intent intent new Intent isr LAUNCH intent setComponent new ComponentName com ISR com ISR
  • 将页脚添加到 ListView 会抛出“无法转换为 android.widget.HeaderViewListAdapter”

    我正在尝试将一个简单的视图作为页脚添加到 ListView 中 这样做会引发ClassCastException cannot be cast to android widget HeaderViewListAdapter 现在 在您将其标
  • 如何使用 Asp.net 设置 .asmx webservice 启用跨源

    我的网络服务代码是 WebMethod public List