我是相当新的发布和获取等等,但我正在努力学习它,现在我有这个问题。我正在使用PHP从文本文件中收集数据,通过带有Ajax的URL将其发送到Javascript。所以这是在没有页面刷新(和工作)的情况下完成的。但是在同一页面上,我也在单击单选按钮(也提交表单)时使用Javascript发布表单数据,以某种方式可以访问(例如保存在数据库中或回显到页面)。因为页面在提交表单时刷新,我认为它不应该是这样的问题吗?
到目前为止,我只是尝试添加下面的代码来发布,但它不起作用,因为只要我向文档添加更多PHP代码,页面崩溃(变为空白)。我想echo
部分由于PHP代码中的先前echo
而无效,但我该如何解决呢?
我还可以补充一点,我尝试在下面添加此代码段之前的PHP代码需要以die
结束才能使页面正常运行。所以我很难知道在哪里以及如何放置更多的PHP代码。
表单数据的提交似乎有效,因为单击单选按钮会刷新页面。
<?php
if ( isset($_POST['image'])
{
$image = $_POST[ 'image' ]; // 'image' is the name of the radio buttons
echo "$image<br>";
//Will result in "image1" or "image2", etc - whatever "value" you assigned to the radio buttons
}
?>
<script>
$(document).ready(function(){
// Bind to change event for all radio buttons
$('input[type="radio"]').on('change', function() {
// Submit the form ("this" refers to the radio button)
$(this).closest('form').submit();
});
});
</script>
这是我想要添加内容以访问已发布表单数据的PHP代码。
<?php
if ( isset($_GET['firstItem']) && isset($_GET['numItems']) )
{
$firstItem = $_GET['firstItem'];
$numItems = $_GET['numItems'];
$subtestNumber = 7;
$filename = sprintf("subtests/%d.txt", $subtestNumber);
$fileHandle = fopen($filename, "rt");
for ($numLinesToSkip=0; $numLinesToSkip<$firstItem; $numLinesToSkip++)
fgets($fileHandle);
$results = array();
for ($itemCount=0; $itemCount<$numItems; $itemCount++)
{
$curLine = fgets($fileHandle);
$curLine = trim($curLine);
array_push($results, $curLine);
}
fclose($fileHandle);
echo json_encode($results);
die; // stop execution now - dont output the html below
}
?>