在这段代码中,我有一个正常的下拉菜单,其中有一些城市名称。现在,当我通过 jquery 更改任何城市时,我真正想要的是我想在我的警报框中获取 json
数据,但该数据尚未运行。我不知道为什么?那么,我该怎么做呢?
$(document).ready(function() {
$("#city").change(function() {
name = $(this).val();
console.log(name);
$.ajax({
type: "POST",
dataType: "json",
data: {
"name": name
},
url: "http://postalpincode.in/api/postoffice/" + name,
success: function(data) {
console.log(data);
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="city" id="city">
<option value="">Select City</option>
<option value="delhi">delhi</option>
<option value="ghaziabad">ghaziabad</option>
<option value="noida">noida</option>
<option value="meerut">meerut</option>
</select>
最佳答案
请检查下面的代码
<select name="city" id="city">
<option value="">Select City</option>
<option value="delhi">delhi</option>
<option value="ghaziabad">ghaziabad</option>
<option value="noida">noida</option>
<option value="meerut">meerut</option>
</select>
Ajax 调用
<script>
$(document).ready(function(){
$("#city").change(function(){
name = $(this).val();
/*For PHP called is for Cross-Origin Request Blocked*/
$.ajax({
type:"GET",
dataType: "json",
data:{name: name},
url:"test.php",
success:function(data)
{
alert('Get Success');
console.log(data);
}
});
});
});
</script>
阻止跨源请求的 PHP 文件代码 -
<?php
$name_city = rawurlencode($_GET['name']);
$url = "http://postalpincode.in/api/postoffice/".$name_city;
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,"$url");
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_handle, CURLOPT_HEADER, false);
$postoffice_data = curl_exec($curl_handle);
curl_close($curl_handle);
$postoffice_data = json_decode($postoffice_data);
echo json_encode($postoffice_data);
exit;
?>
关于php - 如何使用 jquery ajax 获取 api 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52379332/