Javascript传递变量问题未返回
您好,我有以下代码使用AJAX传递JS变量,如下所示:Javascript传递变量问题未返回,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,您好,我有以下代码使用AJAX传递JS变量,如下所示: function buttonCallback(obj){ var id = $(obj).attr('id'); $.ajax({ type: "POST", url: "/project/main/passid", data: { 'id': id }, success: function(msg){
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):
编辑:成功警报框出现-但显示为空,这是我的问题。我希望看到ID1。您是否可以通过执行以下操作来确保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请求的网络响应是什么吗?转到开发者工具栏并转到网络部分,确保按下录制/播放按钮。然后发送您的请求。当您在网络列表中看到您的请求时,请检查请求的“详细信息”并转到响应。您是否真的调用了
passid()
函数?是的,我得到了一个成功的消息警报框附件“我只想返回变量”是什么意思?如果您得到了一个具有正确Id的警报框,然后ajax调用按预期工作,您的php代码将该变量返回到javascript。^I我收到一个空白警报框,这是我的问题!明白了。尝试执行警报(id)在进行ajax调用以验证是否确实获得了id之前,请在javascript中使用code>。
public function passid(){
$courseId = $this->input->post('id');
$response = array( "id" => $courseId );
header('Content-Type: application/json');
echo json_encode( $response );
}