失败场景:
我将一个提交事件绑定到一个AJAX发布请求,以将一个硬编码的键值对发送到PHP脚本,该脚本将返回一条消息,说明请求已被正确接收。
触发提交事件并发送AJAX请求,但失败。看看萤火虫中的参数,参数看起来应该是应该的。
$(document).ready(function(event) {
$('form').submit(function(event) {
$.post( "reqhandler.php", { "division": "division"});
})
})
工作方案:
我复制POST请求并按原样将其输入控制台。请求的执行方式与上面的相同,但是这次有效:
$.post( "reqhandler.php", { "division": "division"});
我猜:
我在上面显示的两个场景之间的唯一区别是请求标头中的内容长度。失败的场景的内容长度标题为23,而工作的标题的内容长度为17,这应该是它应该是的。
为什么失败的情况不起作用?我不知道如何解决它。
答案 0 :(得分:0)
假设您有一个带有提交按钮的表单,请使用以下外部JavaScript:
$(function(){ //load start
$('form').submit(function(){ // no need for EventObject here
$.post('reqhandler.php', {division: 'division'}, function(res){
console.log(res); // use Firebug
// res could be result from PHP's echo json_encode($assocArray);
}, 'json');
return false;
})
}); // load end
reqhandler.php 可能如下所示:
<?php
$res = array('someProp' => 'a value', 'prop2' => array('now', 'you', 'see', 365));
if(isset($_POST['division'])){
echo json_encode($res);
}
?>