大家好我有以下代码使用AJAX传递JS变量,如下所示:
function buttonCallback(obj){
var id = $(obj).attr('id');
$.ajax({
type: "POST",
url: "/project/main/passid",
data: { 'id': id },
success: function(msg){
window.alert(msg);
}
});
}
如果我放入一个警告框,我可以看到对象id被成功抓取。但是如果在php中我想简单地返回变量 - 我得到一个null有任何人有任何想法: 继承我的PHP函数(我正在使用Codeigniter):
public function passid(){
$courseId = $this->input->post('id');
echo $courseId;
}
编辑:出现成功提醒框 - 但显示为空白,这是我的问题我希望看到ID
答案 0 :(得分:1)
1。通过这样做可以确保id
等于某事:
function buttonCallback(obj){
var id = $(obj).attr('id');
alert( id ); // What does it alert?
$.ajax({
type: "POST",
url: "/project/main/passid",
dataType: "json",
data: { 'id': id },
success: function(msg){
window.alert(msg.id);
}
});
}
2。您的javascript看起来不错......您可以尝试使用它来查看它是否有效:
<强> JS 强>
function buttonCallback(obj){
var id = $(obj).attr('id');
$.ajax({
type: "POST",
url: "/project/main/passid",
dataType: "json",
data: { 'id': id },
success: function(msg){
window.alert(msg.id);
}
});
}
<强> PHP 强>
public function passid(){
$courseId = $this->input->post('id');
$response = array( "id" => $courseId );
header('Content-Type: application/json');
echo json_encode( $response );
}
3。如果这不起作用,您可以尝试从id
重命名为poopoo
,以确保不会id
并且很奇怪?
4. 你能查看你的ajax请求的网络响应吗 - 转到开发人员工具栏并转到网络部分,确保你点击了录制/播放按钮。然后发送你的请求。当您看到您的请求出现在网络列表中时,请检查它的“详细信息”并转到响应。