gpt4 book ai didi

javascript - AJAX 在 codeigniter 上返回 NaN

转载 作者:行者123 更新时间:2023-11-28 18:09:26 24 4
gpt4 key购买 nike

所以我在这条路径 usercontroller(controller name/ajaxp(controller function)) 上的 Controller 上有一个函数。看起来像这样,没什么花哨的:

public function ajaxp(){
echo "received";
}

这是我想要 AJAX 调用的路径。

我有一个如下所示的选择框:

<label for="exampleInputEmail1">Apartament</label>
<select onchange="showUser(this.value)" name ="txtApartament1" class="form-control">
<?php foreach($getEntry as $value) { ?>
<option><?php echo $value->apartament ?></option>
<?php }?>
</select>

onchange 将触发此 AJAX:

<script>
function showUser(str) {
var url = <?php base_url();?>+"usercontroller/ajaxp?q="+str;
console.log(url);
if (str == "") {
document.getElementById("txtApartament1").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 (this.readyState == 4 && this.status == 200) {
document.getElementById("txtApartament1").innerHTML = this.responseText;
}
};
xmlhttp.open("GET",url ,true);
xmlhttp.send();
}
}
</script>

但我的网址将是:

(index):258 GET http://localhost/adminigniter1/NaN65 404 (Not Found) 

安装:

http://localhost/adminigniter1/usercontroller/ajaxp

console.log 输出将是:

NaN65

65 是我的选择框中想要发送到 Controller 的实际 str 。我认为 NaN 部分来自这部分:

var url = <?php base_url();?>+"usercontroller/ajaxp?q="+str;

当我尝试附加 Controller 函数路径时,javascript 会看到该字符串为 NaN,并且不会返回正确的 URL。有办法解决吗? (我对 JavaScript 还很陌生)。

最佳答案

您的<option>没有任何值(value)。

试试这个: <option value="<?php echo $value->apartament ?>"><?php echo $value->apartament ?></option>

你的 url 定义必须是这样的:

var url = "<?php base_url();?>usercontroller/ajaxp?q="+str;

关于javascript - AJAX 在 codeigniter 上返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940128/

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