我是Ajax语法的新手。所以我用append创建我的加载内容,但是,我想知道用PHP是否可行?对ajax说“学习这个php文件来显示数据”,在我的PHP文件上,我们找到了我的json文件的数据。
我想在PHP中使用它,因为我在一些文件中使用这个模板(这个“追加”)通常是在10个文件中调用的,所以我不想复制和粘贴所有代码,我需要更改一些东西,我只想编辑一个文件。
这是我实际的文件:
$.ajax(
{
url: 'http://localhost/concerts/json/getConcerts?date=previous&limit=10&offset=' + i++ + '',
type: "get",
dataType: 'json',
success: function (data) {
$.each(data, function (idx, elem) {
$('#concertHome').append('<div>'+elem.bID9+'</div>')});
},
error: function () {
alert('Erreur lors de la requête...');
}
});}
发布于 2018-06-05 04:31:46
PHP脚本在您打开文件时执行,并且在其他操作之前执行(它是服务器端语言)。当Javascript完全加载时,Ajax调用exectue。(在php之后)。
所以你不能这么做。如果没有Ajax调用或Fetch之类的东西,它们就不能相互通信。
发布于 2018-06-05 14:17:03
在我看来,您不必在PHP文件中包含Ajax代码部分。您真正需要的是一些可重用的代码块,您可以将其应用于同一页面中的不同位置,或者在您的情况下,应用于不同页面中。
你应该从itsolutionstuff文章中学到的是把Ajax调用放到一个函数中,然后你可以用不同的参数来调用这个函数,比如:
function doAjax(params)
$.ajax(
{
url: 'http://localhost/concerts/json/getConcerts?date=previous&limit=10&offset='
+ (params.i++),
type: "get",
dataType: 'json',
success: function (data) {
$.each(data, function (idx, elem) {
$(params.target).append('<div>'+elem[params.prop]+'</div>')});
},
error: function () {
alert('Erreur lors de la requête...');
}
});}
}
您应该将此代码段放入一个单独的.js文件中,然后可以使用<script src="ajaxcode.js"></script>
指令将该文件包含到所有页面中。每次要触发ajax事件时,都需要调用函数doAjax(actualParamaterObject)
。actualParameterObject
包含要在函数中使用的各种属性,例如-
actualParameterObject={i:25, prop:'bID9', target:'#concertHome'};
传递此参数对象内的偏移量i
将产生预期的副作用,即它将在函数调用中递增。将其作为直接参数传递将不会以这种方式工作。
https://stackoverflow.com/questions/50688280
复制相似问题