【问题标题】:Can't update php file via ajax $.post无法通过 ajax $.post 更新 php 文件
【发布时间】:2013-07-19 09:06:23
【问题描述】:

我有这个:

<div class="text_window"></div>
<textarea></textarea>
<button>Send</button>

$(function() {
    getStatus();
});

function getStatus() {

    $.post('update.php', function(data) {
        $('div.text_window').html(data);
    });
    setTimeout("getStatus()",1000);
}

更新.php

$text = $_POST['text'];
if (!$text) $text = 'string';
echo $text;

现在,如果我手动更改 $text 变量并保存文件,它将在浏览器中相应更新,但我想通过将文本放入 textarea 并按下按钮来更改它。

我编写了以下函数,但没有返回任何内容。

$('button').click(function() {
    update();
});

function update() {
    var text = $('textarea').val();
    $.post('update.php',{text:text}, function(data) {
        alert ('ok');
    });
}

如何使用 textarea 和按钮从该页面更新“$text”变量?

【问题讨论】:

  • 从不,ever 将字符串传递给setTimeout 或setInterval。第一个参数应该是一个函数引用:setTimeout("getStatus()",1000); bad ==> setTimeout(getStatus,1000); Good
  • 让我们尝试使用 var_dump 代替 echo 并查看请求结果的网络选项卡(如果您使用的是 chrome)

标签: php jquery


【解决方案1】:

您缺少结束) 并且没有回显功能。

function update() {
    var text = $('textarea').val();

    $.post('update.php',{text:text}, function(data) {
       // echo 'ok';
       alert('ok');
       console.log('ok')
    }); // here
}

【讨论】:

  • 一个可爱的评论://这里 XD
  • @fattomhk 是的,我想在那里做一个大红色箭头,但它没有让我:/
  • 这里打错了,在我的代码中没问题,我还是有同样的问题。
  • @OlliccaMindstorm 摆脱回声
  • 是啊,反正还没更新。
【解决方案2】:

试试:

$.post('update.php',{text:text}, function(data) {
    echo 'ok';
});

【讨论】:

  • 我总是这样。我的问题可以在半分钟内在别人的机器上重现。
猜你喜欢
  • 1970-01-01
  • 2011-07-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多