Angular的$http.jsonp()方法只工作一次
Angular $http.jsonp() method works only once
响应成功(alert->done),但第二个和另一个点击将响应'error'。
我已经尝试添加一些配置参数与'cache: false',但仍然只工作第一次。我应该清除一些缓存/历史记录之类的吗?
$scope.add2 = function() {
var config = {
//url : 'http://www.***.pl/index.php/json/getallusers',
cache: false,
//type : 'POST',
crossdomain: true,
//callback: 'JSON_CALLBACK',
//data: d,
contentType: "application/json",
dataType: "jsonp",
};
var r = Math.floor(Math.random() * 1000) + 4;
var d = {user_type_id:0, user_venue_id:0, fname:r};
var e = objToString(d);
//$http.jsonp('http://www.***.pl/index.php/json/adduserget?callback=JSON_CALLBACK&'+ e, config)
$http.jsonp('http://www.***.pl/index.php/json/adduserget?callback=JSON_CALLBACK&'+ e)
.success(function(res){
console.log('res:' + res.user);
alert('done');
})
.error(function(){
console.log('error');
alert('error');
});
};
这是json中的新问题和ionic framework (angular.js)中的post action
我在服务器响应中添加了angular.callbacks。_0(' before json data…也许这是错误的?
这是我的问题的解决方案:现在我动态地获得回调参数,可以通过变化(不总是角。Callback_0,但可以是:angular。callback_1,棱角分明。callback_2等)从服务器的GET方法中取出,并将其放在php中的响应数据f.e之前:
<?php header('content-type: application/json;');
$json=json_encode($result);
echo $_GET['callback'].'('.$json.')';
?>
问题是因为url在浏览器中被缓存,而其他时间它将从缓存中获取。因此,我建议您在URL
中添加新的虚拟参数,该参数将具有当前的Date.now()
,以便每次调用服务时都将使URL
与Date.now()
组件唯一。
$http.jsonp('http://www.where2play.pl/index.php/json/adduserget?callback=JSON_CALLBACK&'+
e + '&dummy='+ Date.now()) //<--this will add new value everytime to make url unique
相关文章:
- Jquery FadeIn FadeOut 只工作一次
- jQuery滚动功能只工作一次
- iOS鼠标中心绑定只工作一次
- mongoose.js Model.remove在循环中只能工作一次
- Regex拆分-工作一次
- EventListener只能工作一次
- jQuery animate只在单击时工作一次
- data th JS每页只工作一次
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- CSS 类在验证时只工作一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 单击仅工作一次
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- Yelp API、OAuth和Angular与JSONP只工作一次
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- evaluatteJavaScript()只工作一次
- orderBy筛选器只能工作一次
- Jquery事件只工作一次
- Javascript切换的内容函数只能工作一次
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后