使用 JQuery Ajax 调用调用 Rest Web 服务,Web 服务返回 JSON 字符串

2023-12-07

我做了一个 Rest Web 服务:

package org.jboss.samples.rs.webservices;


import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.GET;
import javax.ws.rs.Path;



@Path("/MyRESTApplication")
public class HelloWorldResource {


    @GET()
    @Produces("application/json")
    @Path("/dealInfo/{dealId}")
    public String sayHello(@PathParam("dealId") int dealId) {
        System.out.println("dealid......"+dealId);
        switch(dealId) {
        case 1 :System.out.println("employee id.....");
            return "{'name':'George Koch', 'age':58}";
        case 2:
            return "{'name':'Peter Norton', 'age':50}";
        default:
            return "{'name':'unknown', 'age':-1}";
    } // end of switch

    }
}

当我转到 Internet Explorer 并在地址栏中输入以下内容时:

http://localhost:8080/nagarro-0.0.1-SNAPSHOT/MyRESTApplication/dealInfo/2

它给了我:

{'name':'Peter Norton', 'age':50}

但是当我在 JQuery 方法中使用 ajax 调用来调用它时。例如

$.ajax({  
           type: "GET",  
           url: "http://localhost:8080/nagarro-0.0.1-SNAPSHOT/MyRESTApplication/dealInfo/2",  
           data: "",  
           success: function(resp){  
             // we have the response  
             alert("Server said123:\n '" + resp + "'");  
           },  
           error: function(e){  
             alert('Error121212: ' + e);  
           }  
         });

我在这次通话中遇到错误。

enter image description here

当我在 IE 中使用 F12 进行调试时,我也得到了关注

"Invalid JSON: {\'name\':\'Peter Norton\', \'age\':50}"

有人能告诉我我的通话可能出现什么问题吗?


您的服务和输出是正确的。

问题是同源政策http://en.wikipedia.org/wiki/Same_origin_policy

Ajax 不允许访问内部级别的服务。 例如,在www.example.com/index.html中,您无法访问 www.example.com/service/book?id=1。 因为您将上下文路径从 www.example.com 更改为 www.example.com/service/book。 出于安全考虑,这是不允许的,但我们有一个解决方案

以前,我遇到过同样的问题,我用下面的代码解决了它。 我认为它可以帮助你。 关键点是dataType: 'json'




    function testService()
                {
                    $.ajax(
                    {
                        dataType: 'json',
                        headers: {
                            Accept:"application/json",
                            "Access-Control-Allow-Origin": "*"
                        },
                        type:'GET',
                        url:'http://localhost:8080/service/book/search/1',
                        success: function(data)
                        {
                            document.writeln("Book id : " + data.id);
                            document.writeln("Book title : " + data.name);
                            document.writeln("Description : " + data.description);
                        },
                        error: function(data)
                        {
                            alert("error");
                        }
                    });
                }

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

使用 JQuery Ajax 调用调用 Rest Web 服务,Web 服务返回 JSON 字符串 的相关文章

  • 如何使用 JQuery 获取 Json 记录总数?

    我找不到任何有关使用 jQuery 获取 JSON 记录总数的信息 这是返回的 JSON Email Please enter your Email Password Please enter a password 这是我的代码 funct
  • 用另一个文本替换所选内容

    我正在尝试用其他文本替换所选文本 考虑以下是文本行 世界你好 早上好 你好世界 早上好 如果我选择第二个morning文本 我想用晚上替换早上的文本 因此输出需要如下所示 世界你好 早上好 你好世界 晚安 我尝试了替换功能 但它正在替换第一
  • 无限滚动启用(wordpress)

    因此 我发现本教程可以启用无限滚动 http wptheming com 2012 03 infinite scroll to wordpress theme http wptheming com 2012 03 infinite scro
  • jQuery 库包含顺序导致错误

    我的 jQuery UI 对话框有问题 当我单击 X 按钮时它没有关闭 我发现如果我更改 javascript 的顺序 问题就会消失 包括 如果我按以下顺序包含文件 则会出现问题 如果我按以下顺序包含文件
  • 如果在 jQuery 中调用 .submit() ,有什么方法可以覆盖 .blur() 吗?

    我正在为网站的 CMS 编写自定义代码 当用户单击提交按钮 使用 jQuery UI 创建 时 它会调用按钮上的单击事件 该事件又调用提交事件 从而提交表单 该表单还会检查特定字段以查看它们是否有文本 并将显示错误消息并停用提交按钮 直到问
  • 如何使用 jQuery 在悬停时显示工具提示消息?

    正如标题所述 如何使用 jQuery 在悬停时显示工具提示消息 工具提示插件可能对于您的需要来说太重了 只需使用您希望在工具提示中显示的文本设置 标题 属性即可 yourElement attr title This is the hove
  • 检测 Firefox 中的关闭窗口事件

    我知道这是一个很常见的问题 但相信我 我无法通过网络找到答案 我的目的是仅当用户单击关闭 X 按钮时才触发消息框 如果用户单击后退 前进按钮以及使用 F5 CTRL R 则他会继续收到消息框 我不想将窗口关闭按钮单击之外的任何其他操作关联起
  • Web服务客户端证书/身份验证最佳实践的解决方案

    我有一个简单的 Web 服务 有一个允许第三方开发人员访问的 API API 主要遵循 REST 原则 我对通过要求开发人员使用客户端证书来使 API 更加安全的解决方案感兴趣 是否有任何开源解决方案或其他实施建议可以帮助使用用户级证书进行
  • javascript 可以从父页面访问 iframe 元素吗?

    我的页面上有 iframe iframe 和父页面位于不同的域中 父页面上的 javascript 代码可以访问此 iframe 内的元素吗 如果页面来自不同的域 则不应该这样做 浏览器安全沙箱应该阻止这种类型的访问 当两个页面来自不同的时
  • 仅当数组为空时 JSON 反序列化才会失败

    在某些情况下 当我收到数组属性之一为空的 JSON 时 反序列化会失败 并引发以下异常 无法将当前 JSON 对象 例如 name value 反序列化为类型 SonicApi ClickMark 因为该类型需要 JSON 数组 例如 1
  • 计算两列中两个总和的平均值,并将其显示在 JQGrid 的下一列中

    I m using Jqgrid with summery row at grouping level Now I want to know one thing that Is it possible to show average cal
  • $(document).ready 回调何时执行?

    假设我们附加一个 click http api jquery com click 锚点的处理程序 a 中的标签 document ready http api jquery com ready 打回来 该处理程序将取消默认操作 遵循href
  • 设置三个输入数字的最大值

    我有三个输入数字
  • 发送带有图像的嵌套 JSON

    我一直在尝试研究一种能够通过 Ajax 将嵌套 JSON 请求发送回服务器的方法 根据我的理解 我们主要用于向服务器发送图像或文件的 formdata 在这种情况下不起作用 因为 FormData 似乎不处理嵌套对象 这就是我需要发送的有效
  • a:not(a:not([href])) 选择器

    我希望无论何时 某个操作都与锚标记的点击事件相关联href属性 不开始于mailto and 不以 and 存在任何值 包括空 所以我正在尝试这段代码 a href example com example com a a href Some
  • JQuery mouseover 函数多次触发

    我很长时间以来一直使用这种方法来为整个类 按钮等 设置事件 div bigButton mouseover function this style backgroundColor dfdfdf 然而 在进行一些测试时 我刚刚注意到 当将鼠标
  • execCommand 的替代品

    我希望创建一个所见即所得编辑器 使用 jQuery 作为框架 我可以使用不同的方法来简化生产 我现在确实有一个正在工作的编辑 而且运作良好 我使用 iFrame 并将其设计模式设置为打开并从那里开始 然而 有一些事情困扰着我 以更改所选文本
  • Javascript - 通过键获取特定 JSON 数组元素内的属性值

    我有一个像这样的 JSON 结构 map key1 valueA1 key2 valueA2 key3 valueA3 key1 valueB1 key2 valueB2 key3 valueB3 key1 valueC1 key2 val
  • 如何使用 JQuery 创建新的 img 标签,并使用 JavaScript 对象中的 src 和 id?

    我从基本意义上了解 JQuery 但对它绝对是新手 并且怀疑这很容易 我在 JSON 响应中获得了图像 src 和 id 转换为对象 因此在 responseObject imgurl 和 responseObject imgid 中获得了
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面

随机推荐