我是php和ajax的新手。我想用php运行简单的ajax代码,但代码没有按预期工作。我想在onchange发生时在页面中加载一些文本
源代码 ajax.php
<select id='mySelect' onChange="MyFunction()">
<option value='option1'>Option1</option>
<option value='option2'>Option2</option>
<option value='option3'>Option3</option>
</select>
<script>
function MyFunction()
{
var params="myName=2";
var xmlHttp;
if(window.XMLHttpRequest)
xmlHttp=new XMLHttpRequest();
else
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET","edittest.php",true);
if(xmlHttp)
{
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200)
{
alert(document.getElementById('mySelect').value);
}
}
}
xmlHttp.send(params);
}
</script>
edittest.php 源代码
<?php
if(isset($_GET))
{
for($i=0;$i<1000;$i++)
{
echo($_GET['myName']);
}
}
?>
答案 0 :(得分:1)
为了更简单的体验,我建议你使用jQuery AJAX。 这是代码。查看Documentation了解详情。
[_privacyButton setTitleEdgeInsets:UIEdgeInsetsMake(0,0,0,0)];
_privacyButton.titleLabel.baselineAdjustment = UIBaselineAdjustmentNone;
答案 1 :(得分:0)
您的问题是您声明var params="myName=2";
,但您从未使用它。您的脚本有效,但由于它只是请求edittest.php
,它不会向您显示任何内容,因为您的PHP脚本只打印出myName
变量。
您应该在请求结尾处添加参数,如下所示:
<select id='mySelect' onChange="MyFunction()">
<option value='option1'>Option1</option>
<option value='option2'>Option2</option>
<option value='option3'>Option3</option>
</select>
<script>
function MyFunction() {
var params = "myName=2";
var xmlHttp;
if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
else
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET", "edittest.php?" + params, true);
if (xmlHttp) {
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(document.getElementById('mySelect').value);
}
}
}
xmlHttp.send(params);
}
</script>
(注意xmlHttp.open("GET", "edittest.php?" + params, true);
部分。)