这是我几个小时前发布的另一个问题的后续行动(PHP post 方法显然不起作用)。代码仍然没有做它应该做的事情,但是代码和问题本身已经发生了很大的变化,以至于我更喜欢发布一个新问题(同时考虑到问题似乎主要是在发布后立即阅读)。我将尝试关闭前面的问题(这里仍然有些新)。
那么问题来了:为什么在下面给出的代码中, 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)) );
}
?>
谢谢!