在 PHP 中使用 jQuery 在表中呈现数据
P粉894008490
2023-09-04 09:54:29
<p>我有一个数据,我使用 PHP 来访问它们。所以我创建了一个简单的按钮,当我单击它时,我的程序需要创建一个包含数据的表。 <strong>下面您可以看到读取数据的 jQuery 代码,并创建一个表。</strong>但问题是,我无法访问 DATA 中的每个元素。
我想澄清的是,因为我还添加了代码,我在数据中进行了选择。 <em>它被称为“household.php”</em></p>
<pre class="brush:php;toolbar:false;"><html lang="en">
<head>
<script
src="https://code.jquery.com/jquery-3.6.2.js"
integrity="sha256-pkn2CUZmheSeyssYw3vMp1+xyub4m+e+QK4sQskvuo4="
crossorigin="anonymous"></script>
<link rel="stylesheet" href="style.css">
<script>
function suchen() {
jQuery(document).ready(function($) {
$.ajax({
type: "get",
url: "household.php",
dataType: "json",
success: function(response) {
var data = JSON.parse(response)
var html_table = "";
data.forEach(function(item) {
var row = $("<tr>");
row.append($("<td>").text(item.contact_id_a));
row.append($("<td>").text(item.contact_id_b));
// add more cells for additional columns
html_table += row[0].outerHTML;
});
$("#tabelle").html(html_table);
}
});
});
}
</script>
</head>
<body>
<form id="form" onsubmit="suchen()" method="get">
<label>Enter your age: </label>
<br />
<input type="number" name="min" min="0">
<br />
<input type="number" name="max" min="0">
<br />
<input type="submit">
</form>
<div id="tabelle"></div>
</body>
</html></pre>
<p><strong>这是 family.php 文件的代码。它工作没有问题。但我无法在我的主 php 文件之间进行连接。</strong></p>
<pre class="brush:php;toolbar:false;"><?php
require_once '/var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/civicrm.config.php';
require_once 'CRM/Core/Config.php';
$config = CRM_Core_Config::singleton();
$relationships = \Civi\Api4\Relationship::get()
->addSelect('contact_id_a', 'contact_id_b', 'contact_id_a.display_name', 'contact_id_b.household_name', 'relationship_type_id')
->addClause('OR', ['relationship_type_id', '=', 7], ['relationship_type_id', '=', 8])
->setLimit(25)
->execute();
foreach ($relationships as $relationship) {
// do something
}
var_dump(json_encode($relationships));
?></pre>
<p>我无法使用 php 文件访问数据。我也无法通过搜索 php 连接我的主 php 文件。</p>
我认为您已经在
household.php
文件中使用了echo json_encode($relationships)
。您不需要解析响应(您使用过),因为您已经将dataType
写入json
。它会自动转换。希望这个回答对您有所帮助。根据 jQuery 手册,“任何格式错误的 JSON 都会被拒绝,并引发解析错误。如从 jQuery 1.9 开始,空响应也会被拒绝”。因此,您可以仅使用 dataType: 'json',如果您确定该服务器将返回正确格式的 JSON。如果它只返回“一个字符串,看起来像 JSON”,您应该使用 dataType: "text json" 来强制 jQuery 转换。 [注意] 如果上述答案对您没有帮助,我建议您使用此函数来解析响应。var data = jQuery.parseJSON(response);
或var data = $.parseJSON(response)