2013-06-04 2 views
-1

Вот что случилось: у меня есть php-парсеры, которые сохраняют данные в некоторых локальных файлах, которые извлекаются после загрузки страницы через include. Я хочу дать пользователю возможность обновить эти данные, поэтому для этого мне нужен парсер для запуска снова и передачи новой строки данных в элемент страницы без перезагрузки страницы.Позвоните в php Script onclick, используя JQuery и обновите данные без перезагрузки страницы?

Может кто-нибудь, пожалуйста, помогите мне, мой мозг уже тает. Возможно, мне просто нужен простой простой вызов AJAX, но, пожалуйста, не оставляйте правильный синтаксис.

Вот как я это вижу (может быть очень неправильно):

<element id="button"></element> 

<div id="new_data"></div> 

<jquery> 
$('#button').onclick(function() { 

call for test.php, let it do it's job and get the $result_string 

$('#new_data').innerHTML($result_string); 

}); 
</jquery> 


<?test.php 

function parser() { 

all in place; 

return $result_string; 
} 
?> 

P.S. Также есть что-то делать с формами, но не может понять это.

РЕШЕННЫЙ !!!

А вот что работает для меня, если кто-то должен sumble на этот вопрос:

$("#button").bind('click', function() { 
$.post("test.php", function(data) { 
$("#data").html(data); 
}); 
}); 

или

$("#button").bind('click', function() { 
$('#data').load('test.php'); 
}); 

и test.php в конце концов, только простой echo $result;, работает идеально и довольно быстро.

Надеюсь, это поможет!

ответ

0

Это синтаксис запроса ajax.

$('#button').onclick(function() { 
     jQuery.ajax({ 
     type:'post', 
     url:'test.php', 
     data:[], 
     dataType:'json', 
     success: function(rs) 
     { 
      $('#new_data').innerHTML(rs.result_string); 
     } 
     failure : function(rs) 
     { 
      alert(rs.errorMesage); 
     } 
    }); 
    }); 
+0

ничего не получилось, появляется синтаксическая ошибка на 11-й строке! что я должен поставить в test.php, просто просто вернуть $ value ;? –

1

Я полагаю, вам нужен АЯКС вызов по нажатию кнопки, которая будет получить result_string, попробуйте следующее:

$('#button').onclick(function() { 
    //using simple ajax post.. 

    $.post('test.php',function(data){ 
     $('#new_data').html(data); //here i am returning the data as HTML from test.php.. 
    }); 
}); 

Если вам нужно return_string как яваскрипт объекты, то вы можете отправить JSON в ответ:

function parser() { 

    all in place; 

    return echo json_encode(array('result'=>$result_string)); 
} 

и получить его как объект в сообщение

$.post('test.php',function(data){ 
    $('#new_data').html(data.result); 
}); 

хотя немного запутался в вашем вопросе, я думаю, это поможет вам начать работу.

+0

также не получил его, return echo json_encode (array ('result' => $ result_string)); подчеркивает синтаксическую ошибку! –

Смежные вопросы