Angularjs передать URL-параметр в стек переполнения

Как передать параметр URL в переменную php с помощью маршрутизации angularjs?

Это routing_script.js:

var scotchApp = angular.module('HRModuleApp', ['ngRoute']);

scotchApp.config(function($routeProvider) {
$routeProvider

.when('/', {
templateUrl : 'pages/home.html',
controller  : 'mainController'
})
// route for the home page
.when('/home', {
templateUrl : 'pages/home.html',
controller  : 'mainController'
})
// route for the contact page
.when('/public_profile:user_id', {
templateUrl : 'pages/public_profile.php',
controller  : 'contactController'
})

// route for the contact page
.when('/add_user', {
templateUrl : 'pages/add_user.html',
controller  : 'contactController'
});
});

что еще мне добавить к этому? как переслать параметр id_user из URL в переменную php … чтобы php мог выполнить некоторые sql …

Я также читал о том, что angular не для чего-то подобного … но мне это нужно … и мне это нужно срочно …

благодарю вас!!!

вот переменная $ term, которой нужен этот параметр url в php-файле:

<?php
$term = mysql_real_escape_string($_REQUEST['user_id']);

0

Решение

Хорошо, если ваш вопрос задан правильно, вы хотите, чтобы «pages / public_profile.php» считывал параметр GET, передаваемый angular, чтобы его можно было выполнить до визуализации представления, возможно, что-то вроде этого сделает свое дело:

    .when('/public_profile/:user_id', {
templateUrl: function(attrs){
return 'pages/public_profile.php?user_id=' + attrs.user_id; },
controller  : 'contactController'
})

изменяя ваш ‘templateUrl’ из строки в функцию, которая динамически добавляет параметр в URL как параметр get

0

Другие решения

В вашем contactController

function contactcontroller(['$scope','$stateParams','$http'],function($scope,$stateParams,$http){

//here you have your user_id
var user_id = $stateParams.user_id;

//now you can use $http to make a request to your server
$http.post('your_url',{'usr_id':user_id})
.success(function(response){
//handle OK response
})
.error(function(response){
//habndle error
})

})

ПРИМЕЧАНИЕ. Вам следует переместить все вызовы $ https в службу.

0

это javascript, который запускает событие onclick … щелчок по строке в datatable … ссылка, которую я получаю, выглядит хорошо, но скрипт php не получает этот URL

    $(document).ready(function() {

$(function(){
$.ajax({
url: 'http://localhost/hrmodel/public/pages/employees_datatables.php',
data: {},
dataType: 'json',
success: function (data) {

// Check if received data is indeed JSON Object and not a string

if (data.substring) {
console.log('is string');
} else{
console.log('is not string');
}

// Setup for individual column search - add a text input to each footer cell

$('#employees tfoot th').each( function () {
var title = $('#employees thead th').eq( $(this).index() ).text();
$(this).html( '<input type="text" placeholder="Search '+title+'" />' );
} );

// Initialize Datatable

var table = $('#employees').DataTable( {
"bProcessing": true,
"bSearchable" : true,
"bSortable" : true,
"bFilter": true,
"bInfo": true,
"bPaginate" : true,
"data" : data,
"columns": [
{ "data": "korisnik_id",
"visible": false,
"searchable": false
},
{ "data": "ime" },
{ "data": "prezime" },
{ "data": "3" },
{ "data": "naziv" }
]
} );

// Apply the search for each column

table.columns().eq( 0 ).each( function ( colIdx ) {
$( 'input', table.column( colIdx ).footer() ).on( 'keyup change', function () {
table
.column( colIdx )
.search( this.value )
.draw();
} );
} );

// Highlighting rows

var lastIdx = null;

$('#employees tbody').on( 'mouseover', 'td', function () {
var colIdx = table.cell(this).index().column;

if ( colIdx !== lastIdx ) {
$( table.cells().nodes() ).removeClass( 'highlight' );
$( table.column( colIdx ).nodes() ).addClass( 'highlight' );
}
} )
.on( 'mouseleave', function () {
$( table.cells().nodes() ).removeClass( 'highlight' );
} );

// Send user_id of selected row to PHP script

$('#employees tbody').on( 'click', 'tr', function () {
var id = table.row( this ).data().korisnik_id;
$(this).addClass('chosenUser');
window.location = '#/public_profile.php?user_id=' + id;
/*
$.ajax({
type: 'POST',
url: 'http://localhost/hrmodel/public/pages/public_profile.php',
data: { user_id : id },
dataType: 'json',
success: function (data) {}
} );
*/
} );

} // End of ajax : success
}); // End of .ajax request
}); // End of function()
}); // End of document.ready()
0
По вопросам рекламы [email protected]