这是什么了:我有一些php解析器,可以将数据保存到一些本地文件中,这些文件是在通过includes加载页面后获取的。我希望为用户提供刷新数据的机会,因此我需要解析器再次启动并将新数据字符串传递给页面元素,而无需重新加载页面。
请有人帮助我,我的大脑已经融化了。可能我只需要一个简单的简单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。这也与表格有关,但也无法解决。
解决!!!
如果有人应该总结这个问题,那么这对我有用:
$("#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 :(得分:1)
我假设你需要在点击按钮时调用ajax来获取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作为javascript对象,那么您可以发送JSON作为响应:
function parser() {
all in place;
return echo json_encode(array('result'=>$result_string));
}
并将其作为帖子中的对象
$.post('test.php',function(data){
$('#new_data').html(data.result);
});
虽然对你的问题有点困惑,但我认为这会让你开始......
答案 1 :(得分:0)
这是ajax Request的语法。
$('#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);
}
});
});