【发布时间】:2013-01-06 00:02:02
【问题描述】:
早安!
我正在编写一个小型 AJAX 应用程序,使用 this 函数作为基础,php 作为服务端语言。
这里是涉及的javascript代码
var dati = {};
dati.nome = d.getElementById('nome').value;
dati.cognome = d.getElementById('cognome').value;
console.log(dati);
url = "post.php";
jsonToPost = dati;
console.log(url);
processResponse = function(responseText){
console.log(responseText);
d.getElementById('response').innerHTML = responseText;
}
_SU3.postAjax(url, processResponse, jsonToPost);
});
这是我的 php 代码,只是一个用于测试 ajax 的后处理器
<?php
if(isset($_POST['nome'])){
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$data['nome'] = $nome;
$data['cognome'] = $cognome;
$data = json_encode($data);
echo $data;
} else {
echo "Errore!";
}
?>
我从 ajaxRequest 得到的响应是“Errore!”,这意味着它没有向脚本发布任何内容。
我是否遗漏了任何明显的错误?还是我做错了什么?
_SU3.ajax() 函数(请参阅 this 以供参考)工作得很好,所以我很惊讶它不起作用
---编辑广告萤火虫响应--- 我希望我发布了正确的内容
request headers:
POST /~francesco/post.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/2010010 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost/~francesco/ajax.html
Content-Length: 26
Pragma: no-cache
Cache-Control: no-cache
Screenshot 在屏幕截图中还有其他信息。
【问题讨论】:
-
您是否尝试过使用某种代理(例如 fiddler)检查发送到服务器的数据?
-
请同时发布提琴手响应。这更有用。 _SU3.postAjax(url, processResponse, jsonToPost); 是什么?这是从哪里得出的?
-
@JustinBicknell 你能给我推荐一个 fiddler 的 mac 替代品吗?
-
@DavidL _SU3.postAjax() 是我链接的脚本中的一个函数,它在这里stackoverflow.com/questions/5350377/…
-
@FrancescoZaffaroni 我可以推荐 Firebug,它是 Firefox 的插件。它在观看 http 请求时几乎和 fiddler 一样好用,并且还有一些不错的调试工具
标签: php javascript ajax post