【问题标题】:Unable to get Java Response in Ajax with dataType: "jsonp" but dataType: "text" Works无法使用 dataType 在 Ajax 中获取 Java 响应:“jsonp”但 dataType:“text”有效
【发布时间】:2014-05-29 07:43:15
【问题描述】:

当我使用以下代码时,我无法在 ajax 中获取回调响应值

$.ajax({
    type: 'POST',
    jsonpCallback: 'jsonCallback',
    contentType: 'application/json',
    url: apiurl,
    dataType: "jsonp",
    data: jsonstring,    
    success: function(response)
    {                 
        callback(response);
        token = response;                
    },
        error: function(jqXHR, textStatus, errorThrown){
        alert('Not Permitted  ' + textStatus);
    }

但是当我改变上面的 dataType: "text" 就可以了。

当我使用 dataType:"jsonp" 时如何获得响应。

我的java响应如下:

return Response.status(200).entity("HAI").build();

非常感谢任何帮助。

【问题讨论】:

  • 你在成功部分做console.log(response)会得到什么?
  • 如果你想让 dataType:"jsonp" 工作,那么你的响应(来自服务器端页面)必须是 json 编码字符串而不是纯文本!
  • 实际上成功部分不起作用。总是调用失败。

标签: java javascript jquery ajax


【解决方案1】:

如果你使用的是 jsonp 似乎不需要设置 contentType: 'application/json',因为它实际上是一段 javascript 而不是 json 字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-15
    • 2016-02-08
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2022-10-21
    相关资源
    最近更新 更多