에 나는 오랫동안이 PHP 스크립트를 사용하고이 나의해서 getJSON에 데이터를 반환합니다. 나는 1.2.3 오늘부터와 구문 분석 오류를 당신의 도움해서 getJSON JQuery와는 jQuery를 1.2.3에서 일하고 지금 v1.5.1 던지는 구문 분석 오류
감사
키란
에 대한<?php
error_reporting(E_ALL);
ini_set("display_errors", 0);
include("conndb.php");
function createoptions($table , $id , $field , $condition_field , $value)
{
$sql = sprintf("select * from $table WHERE $condition_field=%d ORDER BY $field" , $value);
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) > 0) {
while ($a = mysql_fetch_assoc($res))
$out[] = "{optionValue: {$a[$id]}, optionDisplay: '$a[$field]'}";
return "[" . implode("," , $out) . "]";
} else
return "[{optionValue: -1 , optionDisplay: 'No result'}]";
}
if (isset($_GET['country'])) {
echo createoptions("state" , "state_id" , "state" , "country_id" , $_GET['country']);
}
if (isset($_GET['state'])) {
echo createoptions("city" , "city_id" , "city" , "state_id" , $_GET['state']);
}
die();
?>
내해서 getJSON 코드가
$.getJSON("select_old.php",{country: '$(this).val()', ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
if(i==0){
populateCity(j[i].optionValue);
}
}
$("select#state").html(options);
}).error(function(xhr, ajaxOptions, thrownError) { alert(xhr.statusText); })
감사를주는 새로운 버전 v1.5.1을 jQuery를 변경
오류 메시지가 무엇을? 그것은 PHP 또는 JavaScript에서입니까? 또한, 자신의 JSON 문자열을 만드는 대신 [json_encode()] (http://php.net/manual/en/function.json-encode.php)를 사용해야합니다. – Phil
'$ (this) .val()'을 문자열로 만드시겠습니까? 정말로 혼란 스럽거나 검색어 문자열이 실제로'select_old.php? country = $ (this) .val() & ajax = true'입니까? –
더 엄격한 JSON 파서 jQuery 1.4 이상의 사용으로 인해 발생할 수 있습니다. http://www.jsonlint.com/ –