我需要在Angular JS Script中设置一个PHP Session变量,因为如果我尝试在php中传递一个angualr变量,我会得到很多错误和问题......那么,有什么方法可以存档这个?
<?php
$placeBean = "{{masterCtrl.getLastplace();}}";
$manualPlaceBean = 6;
?>
如果我写了这个,变量,在$ placeBean中正确设置,如果我尝试在php函数中传递它,它将无效,但如果我手动设置$ placeBean,则为masterCtrl.getLastplace的值(),一切都会奏效。
另一件事,我注意到如果我var_dump两个变量,我得到不同的输出(相同的文本,不同的长度),而如果我做$ placeBean和$ manualPlaceBean的回声,我得到相同的值。 如果我使用addcslashes($ placeBean,'A..z'),我会得到这个:{{\ m \ a \ s \ t \ e \ r \ C \ t \ r \ l \ l。\ g \ e \吨\大号\一个\ s \吨\ p \升\一个\ C \ E();}}
编辑1
我写了这个 //placeSession.php
<?php
$buffer = $_POST['lastPlace'];
$_SESSION['lastPlace'] = $buffer;
?>
// AngularController
app.factory('placeSession', function($resource) {
var setData = function(place) {
// Angular $http() and then() both return promises themselves
return $resource('./PHP/session/placeSession.php').
save({ lastPlace: place }).
$promise.then(function(res) {
console.log(res);
}).catch(function (err) {
console.log(err);
});
};
return { setData: setData };
});
app.controller('PlaceController', function(placeSession) {
this.saveSelection = function(value){
placeSession.setData(value);
}
});
res输出是:
资源{0:“C”,1:“i”,2:“a”,3:“o”,4:“”,5:“”,6:“&lt;”,7: “b”,8:“r”,9:“”,10:“/”,11:“&gt;”,12:“↵”,13:“&lt;”,14:“b”,15: “&gt;”,16:“F”,17:“a”,18:“t”,19:“a”,20:“l”,21:“”,22:“e”, 23:“r”,24:“r”,25:“o”,26:“r”,27:“&lt;”,28:“/”,29:“b”,30: “&gt;”,31:“:”,32:“”,33:“”,34:“U”,35:“n”,36:“c”,37:“a”, 38:“你”,39:“g”,40:“h”,41:“t”,42:“”,43:“E”,44:“r”,45: “r”,46:“o”,47:“r”,48:“:”,49:“”,50:“C”,51:“a”,52:“l”, 53:“l”,54:“”,55:“t”,56:“o”,57:“”,58:“你”,59:“n”,60: “d”,61:“e”,62:“f”,63:“i”,64:“n”,65:“e”,66:“d”,67:“”, 68:“f”,69:“你”,70:“n”,71:“c”,72:“t”,73:“i”,74:“o”,75: “n”,76:“”,77:“d”,78:“e”,79:“b”,80:“u”,81:“g”,82:“”, 83:“t”,84:“o”,85:“”,86:“c”,87:“o”,88:“n”,89:“s”,90: “o”,91:“l”,92:“e”,93:“(”,94:“)”,95:“”,96:“i”,97:“n”, 98:“”,99:“D”,......} 0:“C”1:“i”2:“a”3:“o”4:“”5:“”6:“&lt;”7:“ b“8: “r”9:“”10:“/”11:“&gt;”12:“↵”13:“&lt;”14:“b”15:“&gt;”16:“F”17:“a” 18: “t”19:“a”20:“l”21:“”22:“e”23:“r”24:“r”25:“o”26:“r”27:“&lt;”28: “/”29:“b”30:“&gt;”31:“:”32:“”33:“”34:“U”35:“n”36:“c”37:“a”38: “你”39:“g”40:“h”41:“t”42:“”43:“E”44:“r”45:“r”46:“o”47:“r”48: “:”49:“”50:“C”51:“a”52:“l”53:“l”54:“”55:“t”56:“o”57:“”58: “你”59:“n”60:“d”61:“e”62:“f”63:“i”64:“n”65:“e”66:“d”67:“”68: “f”69:“你”70:“n”71:“c”72:“t”73:“i”74:“o”75:“n”76:“”77:“d”78: “e”79:“b”80:“你”81:“g”82:“”83:“t”84:“o”85:“”86:“c”87: “○” 88: “n”89:“s”90:“o”91:“l”92:“e”93:“(”94:“)”95:“”96:“i”97:“n”98: “”99:“D”100:“:”101:“\”102:“E”103:“a”104:“s”105:“y”106:“P”107: “H”108:“P”109:“ - ”110:“D”111:“e”112:“v”113:“s”114:“e”115: “r”116:“v”117:“e”118:“r”119:“ - ”120:“1”121:“7”122:“\”123: “e”124:“d”125:“s”126:“ - ”127:“w”128:“w”129:“w”130:“\”131: “a”132:“n”133:“g”134:“u”135:“l”136:“a”137:“r”138:“W”139: “e”140:“b”141:“B”142:“o”143:“o”144:“k”145:“\”146:“P”147: “H”148:“P”149:“\”150:“s”151:“e”152:“s”153:“s”154:“i”155: “o”156:“n”157:“\”158:“p”159:“l”160:“a”161:“c”162:“e”163: “S”164:“e”165:“s”166:“s”167:“i”168:“o”169:“n”170:“。”171: “p”172:“h”173:“p”174:“:”175:“5”176:“↵”177:“S”178:“t”179: “a”180:“c”181:“k”182:“”183:“t”184:“r”185:“a”186:“c”187: “e”188:“:”189:“↵”190:“#”191:“0”192:“”193:“{”194:“m”195: “a”196:“i”197:“n”198:“}”199:“↵”200:“”201:“”202:“t”203: “h”204:“r”205:“o”206:“w”207:“n”208:“”209:“i”210:“n”211:“ “212:”&lt;“213:”b“214:”&gt;“215:”D“216:”:“217:”\“218:”E“219:”a“220: “s”221:“y”222:“P”223:“H”224:“P”225:“ - ”226:“D”227:“e”228: “v”229:“s”230:“e”231:“r”232:“v”233:“e”234:“r”235:“ - ”236: “1”237:“7”238:“\”239:“e”240:“d”241:“s”242:“ - ”243:“w”244: “w”245:“w”246:“\”247:“a”248:“n”249:“g”250:“u”251:“l”252: “a”253:“r”254:“W”255:“e”256:“b”257:“B”258:“o”259:“o”260: “k”261:“\”262:“P”263:“H”264:“P”265:“\”266:“s”267:“e”268: “s”269:“s”270:“i”271:“o”272:“n”273:“\”274:“p”275:“l”276: “a”277:“c”278:“e”279:“S”280:“e”281:“s”282:“s”283:“i”284: “o”285:“n”286:“。”287:“p”288:“h”289:“p”290:“&lt;”291:“/”292: “b”293:“&gt;”294:“”295:“o”296:“n”297:“”298:“l”299:“i”300: “n”301:“e”302:“”303:“&lt;”304:“b”305:“&gt;”306:“5”307:“&lt;”308: “/”309:“b”310:“&gt;”311:“&lt;”312:“b”313:“r”314:“”315:“/”316: “&gt;”317:“↵”$ promise:d {$$ state:{...}} $ resolved:true__proto __:Object
答案 0 :(得分:1)
您应该向服务器发出ajax请求(在任何php文件上),然后您可以设置会话或运行您想要的任何PHP代码,作为回报,您可以发回会话值。
答案 1 :(得分:0)
看一下AngularJS $resource('/api/post-route/post.php')
.save({ myData: true })
.$promise
.then(function (response) {
// Do something with the response
})
.catch(function (err) {
// Handle error
});
:
https://docs.angularjs.org/api/ngResource/service/ $资源
您可以使用以下内容轻松地POST到您的PHP代码:
$resource
显然,Pair<T,K>
初始调用中的路由名称会有所不同,您发送的数据也会不同,但这是基本模式。这是你做的建议的唯一方法。