我不知道为什么我会遇到这个困难,但现在是时候我出现了问题 .
使用jquery ajax调用php文件的最佳方法是什么,让它通过$ _GET处理一些输入,返回那些结果并再次使用ajax替换div的内容?
到目前为止,我可以调用php文件,并且在jquery ajax调用的成功中我得到了文本的警报 .
$.ajax({
url: "xxx/xxx.php",
type: "GET",
data: data,
cache: false,
success: function (html) {
alert("HTLM = " + html);
$('#product-list').html(html);
}
});
我设置php函数来回显结果,警报从php文件中吐出html . 但是我有副作用 . 我得到了php生成的代码在页面顶部回显 . 所以php正在做它的工作(通过回应内容) . 接下来jquery通过用php文件中的值替换div的内容来完成它的工作 .
如何阻止php文件回显页面顶部的内容?
示例代码从php回显并在jquery ajax成功时发出警报
HTML =
<div class="quarter">
<div class="thumb">
<a href="productinfo.php?prod-code=Y-32Z&cat=bw&sub=">
<img src="products/thumbs/no_thumb.gif" alt="No Image" border="0" />
</a>
</div>
<div class="labels"><span class="new-label">New</span></div>
<p><span class="prod-name">32OZ YARD</span></p>
<p><span class="prod-code">Y-32Z</span></p>
</div>
谢谢!!!
-Kris
3 回答
你是否在页面顶部包含了用于ajax调用的php文件?如果是这样你就不需要了 . 这会导致数据在顶部转储 .
问你的问题:)
编辑回答问题
你的ajax函数现在会在运行时覆盖php内容并输出到#product-list
如果您的意思是想要避免显示 Headers 和正文标记,只需要显示内容,则需要检测
AJAX
在PHP
侧的请求 .一些伪代码是:
在stackoverflow搜索HTTP_X_REQUESTED_WITH
您的问题并不完全清楚,但听起来您只想使用响应数据的PART . 如果是这种情况,那么有两种方法可以实现:
首先,您可以检查PHP端是否通过AJAX请求 . 这是我使用的解决方案,因为它可以防止无用的数据传输到客户端:
或者,您可以使用ID标记要使用的响应数据部分,然后在返回的数据中搜索该ID:
然后为你的ajax响应回调: