Ajax Запрос Не Работает

  • Автор темы Junior2012
  • Дата начала
J

Junior2012

#1
привет парни!
Есть php скрипт, который ищет инфу с введенного сайта, затем отображает
PHP:
 <?php

if(isset($_POST['searchbutton'])){

$homepage = file_get_contents("http://".$_POST['site']);
preg_match('%<meta.*name="keywords".*content="(.*)"\s+/>%U', $homepage, $regs);

if(count($regs))
{
$myString = implode('', $regs ); 
print_r($myString);
}
}
?>
<form id=payment method="post" name="forma1">
<label for=name>ENTER www.bbc.com:</label>
<input id="name" type=text placeholder="Write here..." name="site">
<input type="submit" value="START" name="searchbutton" id="sb">
</form>
Код:
Мне нужно сделать тоже самое, но без перегрузки страницы. Использую AJAX так
[code]
<script type="text/javascript">
$(document).ready(function(){
$('#payment').submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: $(this).serialize(),
dataType: 'json',
success: function(data)
{
alert("OK");
}
});
});
});
</script>
Но, к сожалению данный вариант не работает. При нажатии ничего не происходит. Если меняю тип с JSON на HTML, то AJAX вроде отрабатывает, но PHP тада не срабатывает. Может есть какие идеи?
 

ikot

Active member
11.06.2008
27
0
#2
привет парни!
Есть php скрипт, который ищет инфу с введенного сайта, затем отображает
PHP:
 <?php

if(isset($_POST['searchbutton'])){

$homepage = file_get_contents("http://".$_POST['site']);
preg_match('%<meta.*name="keywords".*content="(.*)"\s+/>%U', $homepage, $regs);

if(count($regs))
{
$myString = implode('', $regs ); 
print_r($myString);
}
}
?>
<form id=payment method="post" name="forma1">
<label for=name>ENTER www.bbc.com:</label>
<input id="name" type=text placeholder="Write here..." name="site">
<input type="submit" value="START" name="searchbutton" id="sb">
</form>
Код:
Мне нужно сделать тоже самое, но без перегрузки страницы. Использую AJAX так
[code]
<script type="text/javascript">
$(document).ready(function(){
$('#payment').submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: $(this).serialize(),
dataType: 'json',
success: function(data)
{
alert("OK");
}
});
});
});
</script>
Но, к сожалению данный вариант не работает. При нажатии ничего не происходит. Если меняю тип с JSON на HTML, то AJAX вроде отрабатывает, но PHP тада не срабатывает. Может есть какие идеи?
Особо не вникал в суть проблемы, но первое, что Вы забыли сделать (оно явно бросается в глаза): В строчке
Код:
<form id=payment method="post" name="forma1">
нужно указать атрибут action, c нужным URL. Ведь в своем скрипте Вы берет отсюда адрес.