PHP变量通过ajax转换为javascript
php variable to javascript via ajax
我试图通过ajax将PHP变量转换为javascript变量。
我有一些PHP代码,使这个变量看起来像这样:(我不会把整个代码,因为它的工作,所以只有相关的代码为这个主题。我有一个new_m变量,它是ARRAY,我想传递给它)
shuffle($new_m);
echo json_encode($new_m);
然后我有一个js文件,它应该捕获回显它看起来像这样:
function getXMLHttp()
{
var xmlHttp
try
{
//Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
//Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("Your browser does not support AJAX!")
return false;
}
}
}
return xmlHttp;
}
function MakeRequest()
{
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
var myvar = new Array();
var myvar=JSON.parse(xmlHttp.responseText);
return myvar;
}
}
xmlHttp.open("GET", "showimage.php", true);
xmlHttp.send(null);
}
当这段代码不是在单独的页面上,像这里,当myvar是在函数内使用它的工作原理(因为我已经成功地在另一个页面上使用了这段代码)。所以我认为我的问题是没有返回正确的变量或没有以正确的方式返回它。
和最后一段代码是应该使用这个myvar的部分,它看起来像:
<script type="text/javascript" src="js/shuffle.js"></script>
<title>undf</title>
</head>
<body onload="MakeRequest()">
<script type="text/javascript">
alert(myvar);
var pos = 0;
var imgs = myvar;
</script>
什么也没发生。我对ajax和javascript还是个新手。谢谢你的帮助。
你的问题是,当alert( myvar);
被执行时,对服务器的请求还没有发生,变量是未定义的(更不用说我认为变量超出了范围,所以你不能访问它)。
你应该设置JS,以便当窗口加载时,你执行请求来检索数据,然后读取它:
<script type="text/javascript">
window.onload = function() {
var myvar = MakeRequest();
alert( myvar);
}
</script>
然后可以去掉<body>
标签中的onload
。
请注意,我不能完全确定您是否正确地从MakeRequest()
函数返回值,因为return
在xmlhttp回调中,而不是在函数中。
相关文章:
- 使用键/代码转换JavaScript数组
- NS_ERROR_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0[nsIDOMWind
- 转换Javascript中的DayOfYear值以用于Flot
- 转换Javascript日期格式
- 字符串大小写转换 javascript
- 一个很好的文本到语音转换JavaScript库
- JQuery 函数突然停止工作,转换 Javascript 参数时出错
- 转换 JavaScript 代码
- 需要转换Javascript数组的格式
- 转换javascript中的日期格式
- 循环以转换JavaScript对象
- jQuery Post中的错误:无法转换JavaScript参数
- UglifyJS转换javascript代码
- Html到Haml的转换javascript
- 正在转换Javascript日期
- 转换Javascript关联对象并用PHP输出
- 转换JavaScript'这'到jQuery'$(这个)'
- 转换JavaScript数组
- 无法转换JavaScript参数arg 0 [nsIDOMWindow.getComputedStyle]
- jQuery美元.Firefox中的ajax错误:"无法转换JavaScript参数"