【发布时间】:2014-04-09 17:13:06
【问题描述】:
我正在制作一个 joomla 2.5 组件,但我遇到了角度发布请求的问题。
这是我的 Javascript(角度框架):
var itemToSend = "ok";
$http.post('http://mediastore.dev/index.php?option=com_mediastore&task=sendMail&format=raw', itemToSend)
.success(function(data) {
console.log("my->"+data);
})
.error(function() {
console.log('shit happens');
});
还有我的控制器:
public function sendMail() {
if(isset($_POST)) {
$res = $_POST['itemToSend'];
echo $res;
}else {
echo 'nothing';
}
}
然后回调返回
my->
通知:未定义索引:itemToSend
为什么是未定义的索引?怎么了?
非常感谢,
安东尼
我以前试过这个,但这是同样的问题..
我已将我的 php 更改为:
public function sendMail() {
if(isset($_POST['itemToSend'])) {
$res = $_POST['itemToSend'];
echo $res;
}else {
echo 'nothing';
}
}
还有我的js:
var itemToSend = {
itemToSend: "ok"
};
$http.post('http://mediastore.dev/index.php?option=com_mediastore&task=sendMail&format=raw', itemToSend)
.success(function(data) {
console.log("my->"+data);
})
而且它总是返回“无”
【问题讨论】:
-
一个你应该检查
isset($_POST['itemToSend'])因为$_POST总是设置,其次你没有定义一个名为 itemToSend 的 post 变量 -
不要在 Joomla 中使用
$_POST。查看有关如何使用 JInput 检索输入的文档:docs.joomla.org/Retrieving_request_data_using_JInput
标签: javascript php ajax joomla