【发布时间】:2014-05-25 17:56:54
【问题描述】:
我正在构建一个使用 Ajax 的 PHP 应用程序。
我使用的 Ajax 代码是
function getdetails(id){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function(){
if(xhr.readyState==4 && xhr.status==200){
document.getElementById("updateform").innerHTML=xhr.responseText;
}
}
xhr.open("GET","get_details?id="+id+"&table="+'<?php echo $table_name ?>',true);
xhr.send();
}
处理这个问题的 PHP 函数是
public function get_details(){
$id = $_GET['id'];
$table = $_GET['table'];
$query = $this->db->get_where($table,array('id'=>$id));
if($query){
$row = $query->row();
echo form_open('members/update_detail');
foreach ($row as $key => $value) {
echo $key.' <input type="text" name='.$key.' value='.$value.'><br>';
}
echo '</form>';
}
//echo $_GET['id'];
}
我已经定义了一个 id 为“updateform”的 div。从获取数据的意义上说,该代码运行良好。但是,它并没有获取整个数据。例如:在 VARCHAR(200) 字段中,如果我存储 Stack Overflow ,则仅显示 Stack。
我获取数据的方法有问题吗?
【问题讨论】:
-
直接在浏览器中执行php url,给出一个硬编码的id和table。检查它是否与您通过 ajax 发送的相同
-
是的,结果是一样的。
标签: php mysql ajax codeigniter