对不起,我的新手问题,但AngularJS文档不是非常明确或广泛,以找出一些基本的东西.
有没有办法与AngularJS进行同步调用?
在服务上:
myService.getByID = function (id) {
var retval = null;
$http({
url: "/CO/api/products/" + id,
method: "GET"
}).success(function (data, status, headers, config) {
retval = data.Data;
});
return retval;
}
Run Code Online (Sandbox Code Playgroud) 我是一个有角度的新蜜蜂.我正在尝试编写一个验证,在用户尝试关闭浏览器窗口时提醒用户.
我的页面v1和v2上有2个链接.当点击指向特定页面的链接时.这是重定向到v1和v2的代码
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/v1', {templateUrl: 'pages/v_1.html', controller: MyCtrl1});
$routeProvider.when('/v2', {templateUrl: 'pages/v_2.html', controller: MyCtrl2});
$routeProvider.otherwise({redirectTo: '/v1'});
}]);
Run Code Online (Sandbox Code Playgroud)
当用户点击v1"他即将离开v1,如果他想继续"并且点击v2时,我想弹出一条消息.任何关于如何实现这一点的指示将不胜感激.
更新的代码;
控制器
function MyCtrl1() {
$scope.$on('$locationChangeStart', function (event, next, current) {
if ('your condition') {
event.preventDefault();
MessageService.showConfirmation(
'Are you sure?',
MessageService.MessageOptions.YES_NO, {
'YES': function () {
blockNavigation = false;
$location.url($location.url(next).hash());
$rootScope.$apply();
},
'NO': function () {
MessageService.clear();
$log.log('NO Selected')
}
});
}
});
}
MyCtrl1.$inject = [];
function MyCtrl2() {}
MyCtrl2.$inject = …Run Code Online (Sandbox Code Playgroud) javascript model-view-controller angularjs angularjs-directive
我正在开发一个php/javascript聊天.
当用户登录时,他/她的用户名将被插入名为的MySQL表中queue.此插入返回mysql_insert_id()将存储在名为的会话变量中$_SESSION['CHAT_QUEUE_ID']
当用户关闭页面时,我需要删除MySQL表行.
我尝试了以下,但没有成功:
js文件
window.onbeforeunload = closeSession;
function closeSession(){
$.ajax({
url: "/chat/process/chat.php",
type: "GET"
});
return "disconnected";
}
Run Code Online (Sandbox Code Playgroud)
chat.php
$delete= "DELETE FROM queue WHERE id = " . $_SESSION['CHAT_QUEUE_ID'];
// query, etc
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?