0

我有一个 ajax 脚本正在运行,它允许用户搜索 dbase 联系人表,然后单击他们想要通过电子邮件向其发送一些文本的联系人。将文本发送给联系人的链接只是结果中的锚链接,文本作为 url 中的变量传递。然后在服务器端,服务器将文本通过电子邮件发送到联系人的电子邮件地址。

我遇到的问题是,如果文本超过一定长度而不是隐藏在 url 中,它就会在页面上可见。然后脚本不再正常工作。起初,我认为问题可能是由于文本中的一个特殊字符破坏了锚链接的 url,但似乎并非如此......这只是长度问题。

我找到了这个帖子

这表示查询字符串不应该有限制。但是,在我的情况下,甚至在尝试提交查询字符​​串之前就出现了问题,因为它从 url 中弹出并在页面上可见。因为它在一个去服务器的 url 中,所以我想不出一种在 url 之外传递冗长文本值的好方法,

有没有人遇到过这个问题,如果有,你能建议一个解决方法吗?

这是示例。

a href="sendemail.php?contactid=33&text=HERE IS SOME SHORT TEXT">Send to Harry</a> //works

a href="sendemail.php?contactid=33&text=HERE IS SOME REALLY LONG TEXT THAT GOES ON AND ON.....ON AND ON.... ON AND ON....ON AND ON....PAST A FEW HUNDRED CHARACERS">Send to Harry</a>  // "HERE IS SOME REALLY LONG TEXT etc." IS VISibLE ON PAGE
4

1 回答 1

0

在这个 jsfiddle 中测试你的两个链接:http: //jsfiddle.net/rzj6n/一切都很好,你的问题必须在其他地方。

但是,如果您想避免很长的查询字符串,您可能需要使用表单来发布数据,而不是使用 GET。

<form action="sendemail.php" method="POST">
    <input type="hidden" name="contactid" value="33" />
    <input type="hidden" name="text" value="here is some text..." />
    <input type="submit" value="Send to Harry" />
</form>

然后您将需要使用$_POST['contactid']and访问传递的值$_POST['text']

于 2012-12-25T21:55:02.490 回答