10
回答
Ajax跨域问题,请求第三方接口数据,求助!急急!
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

我在开发微店,遇到的问题是他们提供的接口如下: 

http://api.vdian.com/api?param={"page_num":1,"order_type":"",
"add_start":"2014-09-12%2016:36:08","add_end":"2014-11-12%2016:36:08"}
&public={"method":"vdian.order.list.get","access_token":"7cae3290c7c8a7cdc072c501d3e11637",
"version":"1.1","format":"json"}
很明显这个是跨域的,所以我用了  jquery的JSONP但是,后台返回的是 json数据,所以报错如下:

Uncaught SyntaxError: Unexpected token : 

这个找不到是哪里的错,看到是请求后面多了一个 :号,但是http header中是正确的!

然后找了一些方法,代理服务器,但是我只会nodejs  ,但是nodejs的代理,用node-http-proxy 怎么发送请求到这个接口呢?

有人做个这个吗?请帮我提供一个解决方法吧!谢谢。


<无标签>
举报
乐派电影
发帖于3年前 10回/3K+阅
共有10个答案 最后回答: 3年前

这个报错是语法错误啊。你这个请求的URL有点奇怪,直接把JSON放在URL里??

有没有可能URL是这样的:http:XXXXXX/api?page_num=1&order_type=""&add_start=""

后面那一段应该是放在header里的吧。

--- 共有 2 条评论 ---
甘薯回复 @leiroc : 你已经报错了, 这根本就不能叫正常请求回来了. 3年前 回复
乐派电影不是啊,就是这样的!数据正常请求回来了的,但是就是报错了,后面的 success执行不了 3年前 回复
// 处理来自客户端js的跨域请求
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
            res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
//需要返回的的json
res.send({"newName":[{"Title [id=1, title=主页]":[]}]});



--- 共有 2 条评论 ---
乐派电影我没有服务器权限的…有就好办了 3年前 回复
Jack_Q这个是通过修改服务端在允许跨域,但如果服务端不允许修改呢? 3年前 回复

楼主的话看不太懂...

http header中你看不到这个冒号 是request最后发出去的header吗

这不可能吧.你如果使用http URL请求数据应该符合URL的要求不能有:的

--- 共有 5 条评论 ---
甘薯回复 @leiroc : 这是说明你本地的node.js出问题了?不好意思, 不懂node.js 3年前 回复
乐派电影回来的是json格式数据,数据是正确的,就是本地的代码走不了!确定是后台不支持jsonp,只能做代理了,你会nodejs的代理吗? 3年前 回复
乐派电影点击此处输入评论 3年前 回复
甘薯回复 @leiroc : 你回来的数据是什么? 不是出错信息?只要服务器运行正常, 你发给它不管什么信息它都有数据返回, 只不过是不是你要的就不一定了. 3年前 回复
乐派电影我用的,jquery的ajax,发送的请求,这个错,看不到具体的出错点,数据是回来了,就是不能继续走下去,像这个提供的接口该怎么去请求呢?微店开放平台提供的…它又没具体说明!你可以帮我试试不呢?注册下微店,测试下接口。 3年前 回复

用你的服务器去请求这个地址,获取数据后直接输出。。如果需要输出jsonp也可以 加上callback name 之后输出

用PHP一个文件就搞定

貌似时间有点晚了,不知道楼主是不是解决了该问题

<?php

$url = 'http://api.vdian.com/api?param={"page_num":1,"order_type":"",
"add_start":"2014-09-12%2016:36:08","add_end":"2014-11-12%2016:36:08"}
&public={"method":"vdian.order.list.get","access_token":"7cae3290c7c8a7cdc072c501d3e11637",
"version":"1.1","format":"json"}';

echo file_get_contents($url);

--- 共有 1 条评论 ---
乐派电影恩,我解决了,我用的nodeJs,我在服务器上面再求情的。谢谢哈 3年前 回复
顶部