gpt4 book ai didi

javascript - $_GET JavaScript 和 AJAX...

转载 作者:行者123 更新时间:2023-12-03 06:22:01 25 4
gpt4 key购买 nike

我对 PHP 比较陌生,我正在(尝试)开发我的第一个 AJAX 代码...

我试图从具有多个选项的选择中传递一个属性,每个选项都有其自己唯一的属性“值”,即一个字符串。

PHP 文件获取值并对其执行某些操作(例如将其打印出来)。然后生成的文件将返回到我的 HTML 主页面。

这是源代码...

这是我的javaScript:

function showUser(myElement) {

var str = myElement.options[myElement.selectedIndex].getAttribute("values");

if (str == "") {
document.getElementById("myResponse").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myResponse").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+encodeURIComponent(str),true);
xmlhttp.send();
}
}

我的HTML如下:

<form>
<select name="users" onchange="showUser(this)">
<option values="">Select a person:</option>
<option values="Rasmus Lerdorf">Creator of PHP</option>
<option values="Linus Torvalds">Developed Linux</option>
<option values="Dennis Ritchie">Developper of C</option>
</select>
</form>
<br>
<div id="myResponse"><b>Person info will be listed here...</b></div>

我的PHP是:

<?php
$q = intval($_GET['q']);
echo $q;
?>

我得到 0 而不是文本字符串,我的代码有什么问题?

最佳答案

我真傻

我复制并粘贴了教程中的一个基本示例,但我没有意识到 PHP 代码正在将通过 GET 发送的字符串转换为整数。

$q = intval($_GET['q']);

代码应该是:

$q = $_GET['q'];

在开发的早期阶段,我确实传递了一个整数,因此代码可以正常工作。

代码返回 0 而不是错误,因为失败时字符串的 intval 为 0。

在这里写下问题我意识到错误......

关于javascript - $_GET JavaScript 和 AJAX...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38824050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com