안녕하세요 stackoverflow 국가! 나는 그런 걸림돌을 보았다. ajax 내에서 검색되는 jqGrid 배열 데이터를 전달하려고 시도하지만 작동하지 않습니다. 스크립트 여기 =>jqGrid 로컬 데이터 아약스 내
$(function(){ // this script works just fine (of course this array and jqGrid initialization script is in the same file)
var arr = [
{a:"a",b:"b"},
{a:"c",b:"d"}
];
$("#_tb").jqGrid({
datatype: "local",
data: arr,
colNames: ["ONE","Two"],
colModel: [
{name:"a",index:"a",align:"center"},
{name:"b",index:"b",align:"center"}
],
pager: $("#_pager"),
height: "auto"
});
});
살펴보고 있습니다 것은 내 문제 =입니다>
$.ajax({
url: "../info.php",
type: "get",
data: {},
success: function(r){
$("#_tb").jqGrid({
datatype: "local",
data: r,
colNames: ["ONE","Two"],
colModel: [
{name:"a",index:"a",align:"center"},
{name:"b",index:"b",align:"center"}
],
pager: $("#_pager"),
height: "auto"
});
}
});
이 스크립트가 작동하지 않지만, 데이터가 성공적으로 JSON 형식으로 아약스에서 검색됩니다. 여기 info.php
스크립트 너무
// using PDO for connection
foreach($con->query("SELECT * FROM tb") as $row){
$info[] = array(
"a" => $row["a"],
"b" => $row["b"]
);
}
echo json_encode($info);
PS입니다. 내 생각에 내 문제는 데이터 유형에 연결되어 있지만 그런 식의 검색 예제에도 불구하고 어떻게 해결할 수 있을지 생각할 수 없습니다. 주목할만한 점은 SQL where 문없이 jqGrid에서 데이터를 검색하고 필터링하기 때문에 데이터 유형을 로컬로 지정하기 바랍니다. 내가 기뻐할 것입니다 조언과 감사합니다 :)
현재 코드를 사용하려면'dataType : "json"'또는'contentType : "application/json"'과 같은'jQuery.ajax' 매개 변수를 추가해야합니다. 잘못된 매개 변수를 사용하면'success' 콜백에서'r' 매개 변수의 타입은 객체의 배열 대신에'string'이 될 수 있습니다. 따라서'$ .parseJSON (r)'을 호출하여'r'을 수동으로 객체로 변환해야 할 수도 있습니다. – Oleg
@Oleg의 조언에 감사드립니다. 따라서 두 번째 예제에서 서버에서 정보를 검색하고 jqGrid를 로컬로 추가하려고 할 때 가능하면 변환 할 수 있습니다. – tnanoba