我的网站上有一个包含网址的文字字段,即“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:这是错误的图像。我应该问我的托管服务提供商吗?
答案 0 :(得分:1)
您需要对网址进行编码,以便将其作为参数发送。
检查encodeURIComponent()
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
答案 1 :(得分:1)
403 Forbidden由服务器而不是您的浏览器返回。这意味着您需要进行身份验证(可能会发送用户名和密码)以发布您要发送的数据。
ttp://和http:/不是有效的uri标头。所以他们无法通过。服务器很可能忽略它们。
我也怀疑google.com会允许你跨站点发帖给他们。如果您尝试在自己的网站上展示自己的搜索结果,则需要查看其搜索API。