[英]angularjs pass url param to php
如何使用angularjs路由將URL參數傳遞給php變量?
這是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 ...
我還讀到了類似這樣的東西的角度不是很重要...但是我需要它...而且我迫切需要...
謝謝!!!
這是變量$ term,需要在php文件中使用該url參數:
<?php
$term = mysql_real_escape_string($_REQUEST['user_id']);
好的,如果您的問題正確,那么您希望'pages / public_profile.php'讀取由angular傳遞的GET參數,以便可以在呈現視圖之前執行該參數,也許像這樣的技巧就可以了:
.when('/public_profile/:user_id', {
templateUrl: function(attrs){
return 'pages/public_profile.php?user_id=' + attrs.user_id; },
controller : 'contactController'
})
通過將您的'templateUrl'從字符串更改為以動態方式將參數作為獲取參數添加到url的函數
在您的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呼叫移至服務。
這是觸發onclick事件的javascript ...在數據表中的一行上單擊...我得到的鏈接看起來不錯,但是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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.