您好我正在尝试从API获取数据。
我使用ajax调用但后来总是收到错误消息 未捕获的SyntaxError:意外的令牌:
任何人都可以举例说明如何进行正确的jsonp调用。
下面的是我的代码段。我正在使用coffeescript
get_shipping:=>
shipper_id = @datapayload['general'][0]['shipper']
origin = @datapayload['general'][0]['origin']
destination = @datapayload['general'][0]['destination']
if shipper_id == '001'
expedition = 2
if shipper_id == '002'
expedition = 1
if shipper_id == '003'
expedition = 5
if shipper_id == '004'
expedition = 6
api_code = 'my_api_code'
@url = 'http://www.ongkoskirim.com/api/0.2/?id=' + api_code + '&o=' + origin + '&d=' + destination + '&c=' + expedition + '&callback=jsonhandler'
$.getJSON @url, (data)=>
alert jsonhandler
$.ajax(
url:@url
headers:{'Access-Control-Allow-Origin': '*'}
crossDomain: 'true'
type:'GET'
dataType:'jsonp'
jsonpCallback:'jsonhandler'
success:(data)=>
console.log data
error:=>
console.log "error"
)
任何帮助表示赞赏。 THX
答案 0 :(得分:1)
你的JSON是什么样的?听起来很糟糕。验证它here。
同样使用jQuery的$.getJSON
,你不需要指定一个回调函数,它会为你生成一个随机名称,你可以正常使用success()
回调。
答案 1 :(得分:0)
使用$ .getJSON URL字符串,追加'?callback = dummyDummy',其中dummyDummy是将用作回调函数名称的任何字符串值;你不需要在其他任何地方定义dummyDummy。我成功测试过的jQuery版本是1.5.1。