如何从js发送数据到PHP?

时间:2014-06-10 16:46:15

标签: javascript php jquery ajax

我想将数据从js发送到php函数,然后我想在div中返回函数结果,这是我的代码:

function loadpage(){
    var text = document.getElementById("textarea").value;
    $.ajax({
        type: 'POST',
        url: 'lib/ajax.php',
        data: {'text': text},
        success: function(){
            $("#inneroutput").load("lib/ajax.php");
        }
    });

HTML:

<textarea placeholder="Type your text here..."
id="textarea"></textarea> <div id="inneroutput"></div>

ajax.php:

  

<?php $data = $_POST['text'];
echo $data; ?>

但我在php中遇到错误:

Undefined index: text

那么代码中的错误在哪里?

3 个答案:

答案 0 :(得分:2)

错误来自您第一次通话的成功。

$("#inneroutput").load("lib/ajax.php");

这会再次调用页面,但不会使用&#34; text&#34;参数。即 - 文本未定义。

如下所述将您的成功改为:

success: function(res){
    $("#inneroutput").html(res);
}

无论你是什么&#34;回声&#34;将通过&#34; res&#34;变量

答案 1 :(得分:1)

尝试一次!!

function loadpage(){ 
                //only for one textarea            
                var text = document.getElementByTagName("textarea").value;
                $.ajax({
                  type: 'POST',
                  url: 'lib/ajax.php',
                  data: {'data1': text},
                  success: function(res){
                          $("#inneroutput").html(res);
                  }
                });

答案 2 :(得分:0)

您正在检索页面lib/ajax.php两次。传递一个名为&#39; text&#39;的$_POST变量后。下次你没有。

我怀疑在您的php文件中,您正在使用$_POST['text']执行某些操作而不检查它是否存在。第二次尝试检索页面时(没有POST任何内容)它失败了,你得到了这个错误。