文档章节

$.ajax jsonp parsererror

taadis
 taadis
发布于 2017/06/08 15:19
字数 317
阅读 250
收藏 0

场景重现

通过$.ajax()发起的跨越请求代码如下:

$.ajax({
    dataType: "JSONP",
    type: "GET",
    url: "http://...",
    data: {},
    success: function(data, textStatus){
        // 这里什么都没处理,写了也没反应.
    },
    error: function(xhr, textStatus, ex){
         console.log(textStatus);   
         console.log(ex);
    }        
});

发起 ajax 跨域请求后...

// Firefox 控制台下总是输出
SyntaxError: missing ; before statement

咋一看SyntaxError我还以为是我代码哪里写漏了,检查过后,代码没问题.
同时把完整的请求,直接扔到浏览器地址栏里访问,响应是正常的.
但是在上面的代码中,死活不执行success对应的函数.
同时error对应的函数输出如下:

parsererror
Error: jQuery111209138057178219225_1496905174485 was not called
堆栈跟踪:
error@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:2:1809
b.converters["script json"]@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:27729
Pc@http://localhost:5903//js/jquery/jquery-1.11.2.min.js:4:18329
x@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:21743
send/b.onreadystatechange@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:27017

错误原因

初步怀疑是接口提供方没有处理跨域请求,没有把处理结果包含到JSONP中对应的回调函数中再返回,而是直接返回了 JSON 格式的处理结果.

解决办法

TODO:待我试试通过转发的方式能否解决...

© 著作权归作者所有

taadis

taadis

粉丝 6
博文 549
码字总数 90810
作品 0
温州
其他
私信 提问
安卓4.1以上版本$.ajax请求返回不了数据,出现parser error

安卓4.1以上版本$.ajax请求返回不了数据,出现parser error 工程是拿phonegap + JQuery 写的 我拿手机端向服务器请求数据,用$.Ajax的方式: 在Android 2.3的环境下,一切请求正常 在Andro...

swen
2014/01/04
1K
2
看小白如何解决ajax跨域问题

由于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决ajax的跨域问题。本篇将讲述一个小白从遇到跨...

六只
2012/06/29
15.4K
3
jQuery使用ajax跨域获取数据

var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; jQuery.support.cors = true; //之前没有加这句老是提示no transport,我没去深想。 $.ajax 参数 options 类型:Objec......

吞吞吐吐的
2017/09/06
0
0
AJAX遇到parsererror的问题,求高手解答

在学习jQuery中的Ajax中,发现调试$().load()这一个api的时候一直不成功,尝试过用tomcat和wampserver作为本地服务器都不成功。其中尝试某度尝试寻找解答的方法,但一直无果。。。。 更新,,...

stational
2016/10/28
841
1
【ajax】 $.ajax()的基本用法

代码模版: $.ajax({ type: "POST", url: "/login", contentType: 'application/x-www-form-urlencoded;charset=utf-8', data: {username:$("#username").val(), password:$("#password").va......

林元煌
2017/09/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(三)——方法引用

在一起来学Java8(一)——函数式编程中有一个简单的函数式编程的例子: import java.util.function.Consumer;class Person { public static void sayHello(String name) { S...

猿敲月下码
29分钟前
15
0
读书笔记:深入理解ES6(十一)

第十一章 Promise与异步编程   Promise可以实现其他语言中类似Future和Deferred一样的功能,是另一种异步编程的选择,它既可以像事件和回调函数一样指定稍后执行的代码,也可以明确指示代码...

张森ZS
53分钟前
19
0
面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
今天
28
0
Elasticsearch 实战(一) - 简介

官腔 Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 基本等于没说,咱们慢慢看 1 概述 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜...

JavaEdge
今天
23
0
【jQuery基础学习】11 jQuery性能简单优化

本文转载于:专业的前端网站➦【jQuery基础学习】11 jQuery性能简单优化 关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的。如果这样不能直接找到,也可以用find方法继...

前端老手
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部