PHP没有读取由ajax调用

时间:2017-03-10 16:03:04

标签: ajax post textarea

我正在处理这个ajax调用:

HTML:

表单有一个textarea,用户可以在其中键入一些文本

      <div id="step-3">
        <h2 class="StepTitle">Testo</h2>
        <form id="text" class="form-horizontal form-label-left">
          <div class="item form-group">
            <label class="control-label col-md-3 col-sm-3 col-xs-12">Textarea <span class="required">*</span>
            </label>
            <div class="col-md-6 col-sm-6 col-xs-12">
              <textarea id="textarea" name="testo" data-parsley-required="true" class="form-control col-md-7 col-xs-12"></textarea>
            </div>
          </div>
        </form>
        <ul id="error3_ul" class="list-unstyled">
            <li id="error3_li"></li>
        </ul>
      </div>

JS:

此功能由smartwizard调用。当用户键入一些文本并按下按钮时,ajax调用开始执行服务器端检查,以便有效地将文本插入db。

function onFinishCallback()
{
    var data = $('#textarea').val();
    $.ajax({
          method: 'post',
          data: data,
          dataType: 'html',
          url: "include/library/pull_sim.php",
        success: function(result) {
            successmessage = 'Data was succesfully captured';
            $("#error3_li").text(result);
        },
    });
}

PHP:

Php接收发布的textarea值,检查一个similar_text是否已经进入db,如果是,它会通过ajax调用结果向用户发出警告。

if((!ISSET($_POST['testo'])))
    $val='';
else
    $val=$_POST['testo'];
$q_sim='select nciarfata from nciarf.nciarfata';
$s_sim=mysqli_query($conn,$q_sim);
$n_sim=mysqli_num_rows($s_sim);
if ($n_sim>0)
{
    $simil=array();
    for ($i=0;$i<$n_sim;$i++)
    {
        $rou=mysqli_fetch_row($s_sim);
        similar_text($val, $rou[0], $percent); 
        if ($percent>=95.0)
        {
            array_push($simil,$rou[0]);
        }
    }
    echo"val=$val, rou[0]=$rou[0], percent=$percent";
}

问题:

在我看来,服务器端出现问题,可能是在第一个if。 Php没有识别发布的值,然后分配val =“”而不是用户输入的真实文本..

为什么呢? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我在这里找到解决方案:

Can't figure out why PHP not receiving POST data from $.ajax call

这不是textarea问题,而是ajax jquery问题(数据选项)。