WCF 跨域使用 Jsonp 错误未捕获 SyntaxError:意外的标记:

2024-01-07

我正在尝试使用 jQuery 跨域调用 Web 服务。

这是我调用服务的代码

 $(document).ready(function () {
        $.ajax({
            type: 'GET',
            async: false,
            contentType: "application/json",
            url: "http://localhost:52136/Service1.svc/Helloworld?callback=func_callbk",
            dataType: "jsonp",
            success: function (data) {
                alert('sucesss')
                alert(data.d);
            },
            error: function (data) {
                alert(data);
            }
        });
    });

    func_callback = function (data) {
        alert(data.data.people[0].id);
    }

我正在从服务返回简单的字符串。

public string HelloWorld()
{
    return "Hello World";
}

服务被调用,但我收到错误

未捕获的语法错误:意外的标记:

在 Chrome 的控制台窗口中。

我在从浏览器调用服务时收到此字符串:

{"HelloWorldResult":"Hello World"}

请让我知道我哪里出错了?

提前致谢。


您的 WCF 服务器应配置为启用jsonp with CrossDomainScriptAccessEnabled

这是一个简单的工作示例

Server:

Task.Run(() =>
{
    var uri = new Uri("http://0.0.0.0/test");
    var type = typeof(TestService);
    WebServiceHost host = new WebServiceHost(type, uri);
    WebHttpBinding binding = new WebHttpBinding();
    binding.CrossDomainScriptAccessEnabled = true;
    host.AddServiceEndpoint(type, binding, uri);


    host.Open();

});

[ServiceContract]
public class TestService
{
    [OperationContract]
    [WebGet(ResponseFormat = WebMessageFormat.Json)]
    public string Hello()
    {
        return "Hello World";
    }
}

这是 JavaScript 代码

<html>
<body>
<script src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
<script>
    $(document).ready(function () {
    $.ajax({
        type: 'GET',
        async: false,
        contentType: "application/json",
        url: "http://localhost/test/hello",
        dataType: "jsonp",
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            alert(data);
        }
    });
});

</script>
</body>
</html>

现在您可以通过浏览器进行测试

http://localhost/test/hello

and

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

WCF 跨域使用 Jsonp 错误未捕获 SyntaxError:意外的标记: 的相关文章

  • 选中/取消选中所有复选框

    我见过很多选中 取消选中所有复选框的脚本 但大多数人并不尊重这一点 如果我使用 全部选中 复选框切换所有复选框 然后取消选中列表中的单个复选框 则 全部选中 复选框仍处于选中状态 有没有一种优雅的方式来处理这种情况 checkAll cli
  • jquery datatable ajax 无数据可用 mvc

    我有一张桌子是在 document ready功能 我还使用 jQuery DataTables 插件 由于某种原因 当页面加载时 ajax 调用控制器并返回数据并将其设置为我的网格所有获取的数据 但是尽管所有数据都加载到数据表中 但仍获取
  • JQuery hide() 和 fadeOut() 、 show() 和 fadeIn() 之间的区别

    我是 jQuery 新手 目前 我正在我的跨平台移动应用程序之一中使用 jQuery 我需要根据各自的条件隐藏和显示我的一些页面内容 我发现以下两种方法对我来说效果很好 myControlId fadeOut myControlId hid
  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • 将变量作为参数传递与传递另一个函数的返回值时出现“无效过程调用”错误

    我收到错误 无效的过程调用或参数 AddRange 当传递一个变量到ArrayList AddRange https msdn microsoft com en US library zhfwys3c 28v vs 110 29 aspx
  • 强制 WCF 在进入实际函数之前对每个请求调用一个方法

    我有一个具有许多不同功能的 RESTful WCF 服务 对于每个函数 我需要调用我编写的身份验证方法 我可以在每个请求上手动调用此方法 但我一直在寻找一种方法来强制 WCF 引擎在输入这些函数之前调用此方法 有谁知道这是否可能 Cheer
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • 如何以编程方式处理 JqGrid 事件?

    我正在使用JqG rid 的 ASP NET 包装器 http www trirand net demoaspnet aspx 我想以编程方式连接一些网格的处理程序events http www trirand com jqgridwiki
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 如何在加载.NET WinForm应用程序user.config文件时捕获异常?

    有时 在使用默认配置系统的 NET 2 0 WinForm 桌面应用程序中 user config文件将被损坏并且无法再加载 当配置系统尝试加载它时 它会抛出一个System Xml XmlException 抛开 为什么文件首先被损坏 的
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • Jquery 验证不能正确验证数字?

    我在使用 jquery 非侵入式验证验证数字时遇到问题 我使用的版本是 ASP NET MVC 3 jQuery 1 9 1 jQuery 用户界面 1 10 1 JQuery 验证 1 11 0 我试图验证的输入是
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • Javascript/Jquery:确定用户是否使用鼠标滚轮、滚动条或键盘滚动

    我正在尝试让用户界面正常工作 如果他们使用鼠标滚轮 我需要让它以一种方式滚动 如果他们使用滚动条 我需要让它以另一种方式滚动 如果他们使用键盘 我需要让它以另一种方式滚动 我相信滚轮和滚动条都充当鼠标事件 但是当单击滚动条时我无法让 jav
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 将 pandas 数据框转换为 pandas 系列

    我需要一些有关数据类型问题的帮助 我正在尝试转换 pandas 数据框 如下所示 timestamp number 2018 01 01 1 2018 02 01 0 2018 03 01 5 2018 04 01 0 2018 05 01
  • 从 NSURLConnection 的响应头中读取数据

    如何从服务器响应中发送的标头中读取数据 我正在使用 NSURLConnection 发送请求 如果 URL 是 HTTP URL 则NSURLResponse您在连接的委托中收到的 connection didReceiveResponse
  • xampp mysql 和 phpmyadmin 不起作用

    昨天我使用 xampp 并使用 apache 和 mysql 服务 今天想启动mysql服务 没成功 我尝试在论坛上搜索解决方案 但找不到任何内容 所以我问你 在 mysql 停止工作后 我在日志文件中找到此消息 2015 10 29 12
  • ASP.NET MVC 将数据从视图传递到控制器

    我有一个带有网格的视图 其中包含添加到工作站的项目 用户可以从下拉列表中选择一个项目 然后单击一个操作链接 该链接调用控制器将该项目添加到工作站 我可以通过读取控制器的 Post 操作中的 FormCollection 对象来使其工作 p
  • 如何在 AWS 负载均衡器响应中禁用 Apache HTTP 标头信息?

    我在 Apache 服务器上使用 AWS Elastic Beanstalk 部署了一个 node js 环境 我对环境运行了 PCI 扫描 但出现了 2 次失败 Apache ServerTokens 信息披露 Web服务器HTTP头信息
  • 从逗号分隔字段中选择

    说我有一个subscribers表 每个用户都有一行 如下所示 id name subscribers 1 user1 user2 user3 user4 2 user2 user4 user5 user3 3 user3 user1 us
  • Apache Spark:核心数量与执行器数量

    我试图了解在 YARN 上运行 Spark 作业时核心数量和执行器数量的关系 测试环境如下 数据节点数量 3 Data node machine spec CPU Core i7 4790 核心数 4 线程数 8 内存 32GB 8GB x
  • Firebase 功能 HTTPS 403 禁止

    我使用 Node 和 Express 构建了 Firebase HTTP 事件函数 该函数正在工作 但是当我在客户端调用该函数时 我得到403 Forbidden 第一次调用该功能时 我被要求使用 Google 帐户登录 我使用与 Fire
  • Python xml - 处理未封闭的令牌

    我正在读取数百个 XML 文件并使用 xml etree ElementTree 解析它们 快速背景 这些 XML 文件在某一时刻是完全有效的 但不知何故 在历史上处理它们时 我复制 粘贴它们的过程可能已损坏它们 事实证明 这是一个冲洗问题
  • 防止更改 String.Empty 的值

    部分是出于好奇的破坏事物的角度 部分是出于防范潜在问题的目的 想象一下通过调用以下内容 或类似的内容 但是string Empty是一个很好的例子 typeof String GetField Empty BindingFlags Publ
  • Gradle 不包括已发布的 pom.xml 中的依赖项

    我有一个 Gradle 项目 我正在使用Maven 发布者用于将我的 Android 库安装到 Maven 本地和 Maven 存储库的插件 这可行 但生成的 pom xml 不包含任何依赖项信息 是否有解决方法来包含该信息 或者我是否被迫
  • 通过从当前日期减去秒来获取日期时间

    我想从日期中减去秒 例如 假设我有 1300 秒的无符号整数 我想获取当前日期和时间 从中减去 1 300 秒 最后得到 01 13 2012 2 15 PM 格式并不重要 我确实尝试过 DateTime dt new DateTime d
  • 为什么我无法截取 MPMoviePlayerController 的屏幕截图?

    我需要捕获在 mpmovieplayer 控制器中播放的视频的屏幕截图 但我得到的只是一个红色屏幕 我用红色背景和 0 5 alpha 制作了 coverView 这是代码 NSArray windows UIApplication sha
  • 使用 Groovy(Grails) 写入文件的某些行失败(断行)

    我正在使用 Groovy 在 csv 文件中进行大量写入 更具体地说 我有一个正在运行的 Quartz 作业 它创建一些发送到 RabbitMQ 队列的 Map 消息 该队列正在被 10 个消费者使用 并导致生成一些字符串列表 对于列表中的
  • 如何解决私有字节(本机内存)泄漏?

    我正在开发一个 C 应用程序 该应用程序似乎存在泄漏 我使用过内存分析器并发现我的 私有字节继续增加但是所有堆中的字节数不 这意味着可能是本机内存泄漏 现在我陷入困境 如何找到本机代码中的内存泄漏 首先 如果您有泄漏进程的转储 您可以在 W
  • 如何在按钮单击时使用 TypeScript

    我正在尝试在我的应用程序中使用打字稿 同样 我正在做一个 POC 在 POC 中我想在单击按钮时调用 TypeScript 类中定义的函数 可以调用函数吗 如果是的话怎么办 到目前为止 我已经看到了仅在页面加载时调用函数的示例 我需要在某些
  • 如何在 django 中构建 json REST API(没有 Django REST 框架)

    Preface 我有一个 Django 项目 我已经将它连接起来 以便它为一堆模型提供一堆视图 现在我想添加一个端点 它将数据库的很大一部分转储为 json 我假设您执行此操作的方法是将 URL 添加到视图类 方法 该视图类 方法返回充满
  • Transfuse 与 Dagger 相比如何?

    我正在尝试决定是使用 Transfuse 还是 Dagger 进行 Android 依赖注入 我从未使用过 Transfuse 并且对 Dagger 有基本了解 非常感谢 首先 我是输血 http androidtransfuse org因
  • 如何按特定文件类型过滤输入类型=“文件”对话框?

    当我单击浏览器的浏览按钮时 我想将浏览器限制为 JPG 文件
  • WCF 跨域使用 Jsonp 错误未捕获 SyntaxError:意外的标记:

    我正在尝试使用 jQuery 跨域调用 Web 服务 这是我调用服务的代码 document ready function ajax type GET async false contentType application json url