最佳实践:使用带有PHP的jquery .load()来从Javascript传递数据并从PHP检索。如何传递数据?

时间:2014-10-01 17:03:39

标签: php jquery ajax

关于Ajax / .load()的很多信息/问题,有点不知所措。期待采取最有效的方法。

目标:执行ajax请求onclick;将clicked项的innerHTML传递给PHP,以便在MySQL数据库查询中使用。将查询结果写入特定元素。

进度:

不确定是否使用.load()或.ajax()。

.load()选项允许使用普通对象或字符串'与请求一起发送到服务器,并使用选择器轻松指定在何处写入数据。 Jquery文档:.load(url [,data] [,complete])。

首先尝试实现此方法。

 $(".classExample").click(function(){
 innerHTMLtoBeUsedInPHP = this.innerHTML;
 $("#writeDataHere").load("dateAjax.php",innerHTMLtoBeUsedInPHP);
 });


<?php echo 'Passing data from PHP back to client-side is sorted with the echo'.$_GET['innerHTMLtoBeUsedInPHP']; ?>

根据jquery文档,如果数据作为对象提供,则使用POST方法;否则,假设GET。 innerHTML是一个字符串,因此使用了GET。

为什么我无法访问&lt; innerHTMLtoBeUsedInPHP&#39;在我的PHP脚本中?

1 个答案:

答案 0 :(得分:1)

您发送到服务器的内容是GET,因此您的网址将显示为dateAjax.php?<li>asdf</li>...more html。可能不理想。您仍然可以使用php中的$_SERVER['QUERY_STRING']访问数据,但是您可以发送的数据量可能会比您需要的数量少。我建议将加载调用中的innerHTML更改为类似{"data":innerHTMLtoBeUsedInPHP}的内容,这会将调用更改为帖子并使数据可用$_POST['data']