2016-04-09 3 views
-1

Я создал файл html файла, откуда я хочу, чтобы ajax подключился к базе данных в фоновом режиме, чтобы получить значение выбранного города в соответствии с выбранной страной. Вкратце мне просто нужно, чтобы база данных автоматически загружала все раскрывающиеся меню городов, когда пользователь выбирает страну в первом выпадающем меню?Ajax не подключается к базе данных?

<!doctype> 
<html> 
<head> 
<title></title> 
</head> 

<body> 
<form method="GET" action="" name="form1"> 
Country : <select name="country" onchange="getCity('ind.php? country='+this.value)"> 
<option value="">Select Country</option> 
<option value="1">USA</option> 
<option value="2">Canada</option> 
</select> 
<br />City : <div id="citydiv"> 
<select name="select"> 
<option>Select City</option> 
    </select> 
</div> 
</form> 



<script> 

function getCity(strURL) 
{   
var req = getXMLHTTP(); // fuction to get xmlhttp object 
if (req) 
{ 
    req.onreadystatechange = function() 
{ 
    if (req.readyState == 4) { //data is retrieved from server 
    if (req.status == 200) { // which reprents ok status      
    document.getElementById('citydiv').innerHTML=req.responseText; 
    } 
else 
    { 
    alert("There was a problem while using XMLHTTP:\n"); 
    } 
    }    
    }   
req.open("GET", strURL, true); //open url using get method 
req.send(null); 
} 
} 
</script> 

</body> 
</html> 

ind.php

<?php 
    $country=$_GET['country']; 
    $link = mysql_connect('localhost', 'root', ''); /change the configuration if required 
    if($link) 
    { 
     echo "connect"; 
    } 
    if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db('country'); //change this if required 
    $query="select city from city where countryid=$country"; 
    $result=mysql_query($query); 
?> 
    <select name="city"> 
    <option>Select City</option> 
    <?php while($row=mysql_fetch_array($result)) ?> 
    <option value><?php=$row['city']?></option> 

</select> 
+2

, насколько я могу сказать getXMLHTTP это Аякса утилита .. поэтому его никогда не будет «изменить» ваш URL. Я думаю, вы неправильно понимаете инструменты, которые вы пытаетесь использовать. – DevDonkey

+0

@DevDonkey Я ссылался на эту ссылку http://roshanbh.com.np/2007/12/change-dropdown-list-options-values-from-database-with-ajax-and-php.html –

+0

Итак, в этом руководстве данные изменены в элементе страницы, а не на url. –

ответ

0

Создание запроса AJAX не изменит свой адрес, если вы специально не изменить его самостоятельно, используя JavaScript раз/после /, как только ваш вызов AJAX производится.

Чтобы изменить URL С помощью JavaScript вы можете использовать что-то вроде этого -

location.replace("http://new-url"); 
Смежные вопросы