Exy*_*Tab 1 javascript jsonp angularjs
我尝试在AngularJS中使用JSONP请求发送数据.
$http({ method: 'jsonp',
url: 'http://test.local/?callback=JSON_CALLBACK', /// Add '?callback=JSON_CALLBACK'
data: JSON.stringify(request) })
.success(function (data, status, headers, config) { });
Run Code Online (Sandbox Code Playgroud)
这可能吗?
是的,可以看到$ http.jsonp函数.总之,你应该做点什么
$http.jsonp('http://www.example.com?callback=JSON_CALLBACK')
.success (function(data, ...) {
//your data here
...
})
Run Code Online (Sandbox Code Playgroud)
请注意,您必须设置回调= JSON_CALLBACK以便角度做它的魔力为你的HTTP调用的查询参数.
与您的请求一起发送的数据,如果你想这将取决于查询参数(1),请求消息数据(2)或二者(3).
情况1 :
$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {params : Object | String})
Run Code Online (Sandbox Code Playgroud)
按照文档"字符串或对象的地图将被转向网址后?键1 =值&键2 =值.如果该值不是一个字符串,这将是JSONified."
案例2:
$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {data : Object | String})
Run Code Online (Sandbox Code Playgroud)
案例3:
$http.jsonp('http://www.example.com?callback=JSON_CALLBACK', {params : Object | String, data : Object | String})
Run Code Online (Sandbox Code Playgroud)
迟到的答案,但是:data仅适用于POST请求.但是,您无法POST使用JSONP发出请求 - 它的工作方式是将<script>标记插入到DOM中并src设置为请求的URL; 当您的浏览器评估脚本时,它将调用回调参数(Angular基本上JSON_CALLBACK由指向您的成功函数的指针替换).
TL; DR:使用JSONP将内容发送到服务器的唯一方法是使用params配置中的密钥.
| 归档时间: |
|
| 查看次数: |
13246 次 |
| 最近记录: |