這是我幾個小時前發佈的另一個問題的跟進(PHP post method apparently not working)。 該代碼仍然沒有做它應該做的事情,但代碼和問題本身已經發生了很大的變化,所以我更願意發佈一個新問題(同時考慮到問題似乎在他們發佈後立即被讀取)。我會盡量關閉先前的問題(這裏仍然有點新)。
回到那個問題:爲什麼在下面給出的代碼中isset($ _ POST ['submit1'])在測試時等於FALSE?換句話說,爲什麼$ _POST ['submit1']等於NULL? 我相信這就是我需要知道的。
這裏是代碼,它由兩個文件組成。文件「form.php的」(從jQuery站點複製幾乎從字面上:http://www.visualjquery.net/category/Ajax/jQuery.post,看到最後一個例子)包含以下代碼:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.post demo</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<form action="formprocessing.php" name="formpje" id="searchForm">
<input type="text" name="s" placeholder="Search..." />
<input type="submit" value="Search" name="submit1" />
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>
<script>
/* attach a submit handler to the form */
$("#searchForm").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $(this),
term = $form.find('input[name="s"]').val(),
url = $form.attr('action');
/* Send the data using post */
var posting = $.post(url,{s: term},'json');
/* Put the results in a div */
posting.done(function(data) {
var content1 = $(data).find('#content');
contentstring = JSON.stringify(content1);
$("#result").empty().append(contentstring);
});
});
</script>
</body>
</html>
和文件「formprocessing.php」包含以下(這包括isset-test):
<!DOCTYPE html>
<?php
if(isset($_POST['submit1'])) {
echo (json_encode(array("content" => $invoer)));
}
?>
謝謝!
不應該是'isset($ _ POST ['s'])'? – elclanrs
在您的'$ .post'代碼中,您不會發送提交按鈕。 – machineaddict