通过AJAX(jQuery)发布URL

时间:2015-03-17 16:01:18

标签: javascript php jquery ajax post

我的网站上有一个包含网址的文字字段,即“http://www.google.com”。

当用户更改该字段时,jQuery会通过POST将更改发送到将脚本保存到数据库的PHP脚本。

问题是当jQuery尝试发送更改字段的值(即“http://www.google.com”)时,会出现“403 Forbidden”错误。似乎“http://”是有问题的部分。 “ttp://”通过了“http:/”。

出于安全原因,浏览器是否会返回错误?有办法吗?

编辑:更改文本字段的事件会触发:

$.ajax({
method: "POST",
url: "updateproject.php",
data: { "id": id, "field": this.name, "value": this.value }
});

编辑2:这是错误的图像。我应该问我的托管服务提供商吗? enter image description here

2 个答案:

答案 0 :(得分:1)

您需要对网址进行编码,以便将其作为参数发送。

检查encodeURIComponent() http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp

答案 1 :(得分:1)

403 Forbidden由服务器而不是您的浏览器返回。这意味着您需要进行身份验证(可能会发送用户名和密码)以发布您要发送的数据。

ttp://和http:/不是有效的uri标头。所以他们无法通过。服务器很可能忽略它们。

我也怀疑google.com会允许你跨站点发帖给他们。如果您尝试在自己的网站上展示自己的搜索结果,则需要查看其搜索API。