Javascript $http.jsonp()方法只能工作一次
响应成功(警报->完成),但第二次和另一次点击将响应“错误” 我尝试添加一些带有“cache:false”的配置参数,但仍然只有第一次起作用。我应该清除一些缓存/历史记录还是什么Javascript $http.jsonp()方法只能工作一次,javascript,ajax,angularjs,jsonp,angular-http,Javascript,Ajax,Angularjs,Jsonp,Angular Http,响应成功(警报->完成),但第二次和另一次点击将响应“错误” 我尝试添加一些带有“cache:false”的配置参数,但仍然只有第一次起作用。我应该清除一些缓存/历史记录还是什么 $scope.add2 = function() { var config = { //url : 'http://www.***.pl/index.php/json/getallusers', cache: false, //type : 'POST'
$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');
});
};
这是本书的新问题
我在服务器响应中添加了“angular.callbacks.\u 0(”在json数据之前…可能是这里的错误
这是我的问题的解决方案:
现在,我正在动态地从服务器上的GET方法获取callback参数,该参数可以不同(不总是angular.callback_0,但可以是:angular.callback_1、angular.callback_2等),并将其放在php中的响应数据f.e之前:
<?php header('content-type: application/json;');
$json=json_encode($result);
echo $_GET['callback'].'('.$json.')';
?>
问题是因为url正在浏览器中缓存,而另一次它将从缓存中提取。所以我建议您在
url
中添加新的伪参数,该参数将具有当前的日期。现在()
,以便每次调用服务时,该服务将使url
成为日期的唯一doe。现在()
组件
代码
$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
$http.jsonp('http://www.where2play.pl/index.php/json/adduserget?callback=JSON_CALLBACK&'+
e+'&dummy='+Date.now())//你从哪里调用它,你能提供代码吗?我使用的是ionic frm,这里是sinppets:我尝试过这一点,但发生了同样的事情,最奇怪的是:每个请求都以200和相同的repsonse结束,但是$http跳入了错误案例,所以为什么会这样呢?