如何在没有表单的情况下将长字符串发送到php文件?

时间:2012-05-02 12:32:03

标签: php javascript jquery

我在表单中有一个textarea(表单action = post)和这个textarea下的一个链接,用户应填写此textarea并单击按钮将texarea中写入的文本传输到另一个文件,我正在使用jQuery获取textarea内容并将它们附加到链接的href,这是正常工作,直到我用长字符串测试textarea。

那么将非常长的字符串发送到另一个php文件的替代方法是什么?

并谢谢。

3 个答案:

答案 0 :(得分:5)

使用$ .post,POST数据没有大小限制。

但是当你想要链接的行为(打开目标页面)时,你需要一个表单。

一种简单的方法:

<script  type="text/javascript">
/**
  * @param o mixed selector/element to send
  * @param a string url to send to
  * @param m optional string HTTP-method (default: 'post')
  * @param t optional string target-window(default: '_self')
  **/
function fx(o,a,m,t)
{
  $('<form/>')
    .attr({action:a,method:m||'post',target:t||'_self'})
      .css('display','none')
        .append($(o).clone())
          .appendTo('body')
            .submit()
              .remove();
}
</script>


<form>
 <input name="foo">
 <textarea id="textareaId" name="bar">foobar</textarea>
 <a style="cursor:pointer;text-decoration:underline" 
    onclick="fx('#textareaId','some.php')">send only the textarea</a>
</form>

它动态创建一个新表单,将所需元素附加到表单并发送表单(到任何你想去的地方)

答案 1 :(得分:1)

使用AJAX和POST方法:

$.ajax({
  url: "test.php",
  context: document.body
}).done(function() { 
  alert("Success");
});

答案 2 :(得分:0)

您可以在网址中发送的字符数有限制。 IE url limit

这可能是你的问题。

但你也可以在jquery中使用post