php - Javascript:postAjax 不发布任何内容

标签 php javascript ajax post

早上好!

我正在编写一个小型 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 以供引用)工作正常,所以我很惊讶它不起作用

---编辑广告 Firebug 响应--- 我希望我发布的内容是正确的

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 在屏幕截图中还有其他信息。

最佳答案

您可能想要替换行:

ajaxRequest.send("data=" + encodeURIComponent(data));

在 _SU3.postAjax 中:

ajaxRequest.send(data);

然后将第三个参数 (jsonToPost) 作为字符串发送,如下所示:

"nome=arg1&cognome=arg2"

例如:

"nome="+d.getElementById("nome").value + "&cognome="+d.getElementById("cognome").value`

关于php - Javascript:postAjax 不发布任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463944/

相关文章:

php - 将 Symfony 表单单击按钮映射到数据类

javascript - Material-UI Select onChange 问题

javascript - innerHTML 关闭标签

php - Ajax 根本不发送数据

php - 无需重新加载页面即可更新表中的所有数据

ajax - Internet Explorer 缓存 Ajax...在其他浏览器中运行良好

名称中没有 "test"的 phpunit 运行类

php - 使用 Ajax 和 PHP $_FILES 从 Canvas 元素发送图像

php - 使用 Homebrew 在 OSX 上安装 Xdebug for PHP 5.6

javascript - 无法阻止附加在 Jquery UI 对话框上的表单按钮的默认操作