使用Ajax将数据发送回服务器

时间:2010-08-27 00:30:07

标签: php javascript ajax

我知道send个对象有一个方法xmlHttpRequest,但我整天都在这个网站上工作,我找不到关于这个主题和我的大脑的任何中途正确的教程感觉就像糊状。 Ajax很难。

我要做的是将数据从一个Javascript文件发送回服务器上的PHP脚本,其中数据只是一个字符串和一个小数字。这可能吗?为什么我找不到关于这个主题的好文章?

tl; dr 如何使用send方法将字符串和数字从javascript文件传递到php文件?

5 个答案:

答案 0 :(得分:8)

为什么不使用jQuery或类似的库?

使用jQuery发送变量很简单:

$.post("save.php", { name: "John", time: "2pm" } );

在save.php文件中,您可以根据需要处理POST变量:

$name = $_POST["name"];
$time = $_POST["time"];

您可以查看:http://jquery.com/

我认为你在浪费时间尝试自制方法......

答案 1 :(得分:3)

这绝对有可能。这是一个非常精心组织的tutorial,它引导您完成XmlHttpRequest对象,如何设置它,以及如何在服务器上使用它。

服务器端代码是PHP,我更像是一个C#人,这对我来说是完全合理的。 (也许我应该切换到PHP ??)。

我希望这有帮助!祝你好运。

编辑:在回答之前的SO问题时,我将此jsfiddle放在一起演示了如何使用XmlHttpRequest。希望这也有帮助。

答案 2 :(得分:1)

第1步: 得到jquery。您所要做的就是下载最新文件并将其包含在您的页面上。

第2步: 制作2个文件:

<强> somepage.html:

<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$.get("someScript.php", 
  // data to send if you want
  {
    'someVar' : 'someValue'
  },
  // receive and do something with response
  function(response){
    alert(response);
 } // function (response)
); // .get()
</script>

<强> someScript.php

<?php
  echo $_GET['someVar'] . " response!";
?>

第3步: 将所有文件上传到您的服务器并转到somepage.html

这就是它的全部。但是,您通常会将该代码置于某种onclick或其他类型中,具体取决于您要使用ajax的内容。但那里的评论非常自我解释。 jquery用于发出ajax请求,例如将数据发送到接收请求的服务器端脚本(使用GET方法)。您可以在someScript.php中执行任何操作,但在此示例中,它只是回显您发送的值。然后jquery接受someScript.php回显的内容并将其抛出弹出窗口。

答案 3 :(得分:1)

这里有很多好的链接,所以我不打算添加。就像旁注一样,你在这里处理ajaxness的轻微情况:) - 通常你想要从服务器发回一些东西来改变页面状态以响应第一次从页面发送的内容地方(实际上有人可能会争论为什么你首先需要ajax而不是简单地发布,如果页面不应该改变 - 但我可以看到可能存在你想要ajax的情况)。我只是说,因为你将会遇到很多关于如何处理从服务器发回来的内容的内容 - 只是确保你知道你不想做什么(I当我知道第一遍中我可以遗漏的东西时,我总是很高兴;)

答案 4 :(得分:0)

使用jQuery,您可以使用post method

$.post("test.php", { name: "John", number: 2 } );

在幕后,使用xmlHttpRequest,查看来源,了解他们是如何做到的。