我將如何從 php 中收到的資料完成下面的 ajax 呼叫?
for 回圈等。我相信我要求的是錯誤的東西。我正在使用傳單 js,以使用國家/地區名稱填充下拉串列。
謝謝,我很新很迷茫!
當前的js/ajax代碼::
$.ajax({
url:"js/geoJson.php",
type: 'POST',
dataType: "json",
success: function(result) {
console.log(result);
for (var i=0; i<result.data.country.length; i ) {
$('#select-country').append($('<option>', {
value: result.data.country[i].properties.iso_a2,
text: result.data.country[i].properties.name,
}));
}
}
});
運行正常的 PHP:
$executionStartTime = microtime(true);
$result = file_get_contents("countryBorders.geo.json");
$decode = json_decode($result,true);
$countries = [];
for($i=0;$i<count($decode['features']);$i ) {
array_push($countries,$decode['features'][$i]['properties']);
};
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "success";
$output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) . " ms";
$output['data'] = $countries;
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);
資料樣本:
{"type":"FeatureCollection","features":[{"type":"Feature","properties":
{"name":"Bahamas","iso_a2":"BS","iso_a3":"BHS","iso_n3":"044"},"geometry":
{"type":"MultiPolygon","coordinates":[[[[-77.53466,23.75975],
[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],
[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],
[-77.53466,23.75975]]],[[[-77.82,26.58],[-78.91,26.42],
[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58]]],
[[[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],
[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04],[-77,26.59]]]]}},
uj5u.com熱心網友回復:
利用
value: result.data[i].iso_a2,
text: result.data[i].name
uj5u.com熱心網友回復:
這應該可以解決問題。只需用這個替換上面的 JS 代碼。
$.ajax({
url: "js/geoJson.php",
type: 'POST',
dataType: "json",
success: function(result) {
const
sel_country = document.querySelector('#select-country')
let str = ''
for (let i = 0; i < result.features.length; i ) {
const
data = result.features[i]
str = `<option value="${data.properties.iso_a2}">${data.properties.name}</option>`
}
sel_country.innerHTML = str
}
});
我已經編輯了我的初始代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/378622.html
標籤:javascript php 阿贾克斯
下一篇:VisualStudiobundler導致JSUncaughtReferenceError:初始化錯誤前無法訪問變數。有誰知道我該如何解決這個問題?
