>  기사  >  백엔드 개발  >  用ajax传递变量给PHP(使用了smarty),提示未定义变量

用ajax传递变量给PHP(使用了smarty),提示未定义变量

WBOY
WBOY원래의
2016-06-23 13:38:47870검색

JS源码:
function get_value_optgroup(form){
var opts;
var subject_class;
        var url; 
opts=sub_class.options[sub_class.selectedIndex].parentNode.attributes;
subject_class=opts["label"].value;
//---------------------------------------
//使用ajax发送选中的运算类
url = "compute.php?subject_class="+subject_class;
xmlhttp.open("POST",url,true);
//---------------------------------------
}

PHP代码(compute.php):
header ( "Content-type: text/html; charset=UTF-8" );  //设置文件编码格式
require("system/system.inc.php");   //包含配置文件
var_dump($_POST['subject_class']);
?>

报错:Undefined index: subject_class in D:\wamp\www\cp\compute.php

各位,帮帮忙吧!


回复讨论(解决方案)

放在url中提交的参数subject_class应该是$_GET

放在url中提交的参数subject_class应该是$_GET


我刚开始也是使用的GET方式,一样的效果。而且

放在url中提交的参数subject_class应该是$_GET


在php中改成$_REQUEST['subject_class']接收试试

在php中改成$_REQUEST['subject_class']接收试试



谢谢你。问题已经解决了。现在有个新问题,我从PHP接收的responseText中的中文值乱码。这个怎么解决?


在php中改成$_REQUEST['subject_class']接收试试



谢谢你。问题已经解决了。现在有个新问题,我从PHP接收的responseText中的中文值乱码。这个怎么解决?

保证表单页面header声明、php文件和数据库都是utf8编码就不会乱了



在php中改成$_REQUEST['subject_class']接收试试



谢谢你。问题已经解决了。现在有个新问题,我从PHP接收的responseText中的中文值乱码。这个怎么解决?

保证表单页面header声明、php文件和数据库都是utf8编码就不会乱了

的确如你所说,全都是utf-8的,但是还是出问题了




在php中改成$_REQUEST['subject_class']接收试试



谢谢你。问题已经解决了。现在有个新问题,我从PHP接收的responseText中的中文值乱码。这个怎么解决?

保证表单页面header声明、php文件和数据库都是utf8编码就不会乱了

的确如你所说,全都是utf-8的,但是还是出问题了

直接在浏览器访问接口,打印json,然后到http://www.bejson.com/看下~或者用var_dump来一步步检查

乱码一般刚开始都会遇到!
确保文件编码,文本编码都是统一的utf-8!  有时候你虽然加了声明字符集的头信息!但你的文件不是utf8格式的也不行!

感谢各位的回复,结贴

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.