jQuery/PHP-POST-Forbidden(403)当试图在我的JSON数据中发送完整的URL时
jQuery/PHP- POST Forbidden (403) when trying to send a complete URL in my JSON data
我正在制作一个有趣的卡片生成器,学习如何从输入中收集数据并写入数据库。
当尝试发送这段简单的JSON数据时,我从PHP脚本中得到POST Forbidden(403)错误。
这是我正在处理的jsonlint.com
验证对象,它是从输入元素和javascript-生成的
{
"name": "Transfer Power",
"layout": "cic",
"artwork": "http://static.tvtropes.org/pmwiki/pub/images/Voyager_shield.jpg",
"rarity": "common",
"cost": "3",
"text": "Until the start of your next turn, target friendly Ship gains Shield +X and Damage -X where X is the Ship's current Damage."
}
据我所知,I should be able to send the complete artwork url
没有任何格式,但POST只有在我删除url的方案时才能工作。我希望它是简单的。这是代码-
var name = $('#name').val();
var layout = type;
var artwork = $('#artwork').val();
var rarity = $('#rarity').val();
var cost = $('#cost').val();
var type = $('#type').val();
var text = $('#text').val();
var card = {};
card.name = name;
card.layout = layout;
card.artwork = artwork;
card.rarity = rarity;
card.cost = cost;
card.text = text;
$.post('writecard.php', card, function(data){
console.log(data);
});
和超简单的PHP回声来重新验证我的数据-
<?php
$raw = $_POST;
foreach($raw as $key => $val){
echo $key . ': ' . $val . ' -- ';
}
?>
再次:当我删除URL的方案时,它成功地发送POST并返回数据。
另一个值得关注的问题是:我如何确保我发送的是整数而不是字符?"cost": "3",
是否应该不显示为"cost": 3,
?
感谢阅读。:]
根据您的示例使用writecard.php时,以下index.html:
<html>
<script src="jquery-1.10.2.min.js" ></script>
<body>
<input id="name" value="Transfer Power" />
<br/>
<input id="layout" value="cic" />
<br/>
<input id="artwork" value="http://static.tvtropes.org/pmwiki/pub/images/Voyager_shield.jpg" />
<br/>
<input id="rarity" value="common" />
<br/>
<input id="cost" value="3" />
<br/>
<input id="type" value="unknown" />
<br/>
<input id="text" value="Until the start of your next turn, target friendly Ship gains Shield +X and Damage -X where X is the Ship's current Damage." />
</body>
<script>
var name = $('#name').val();
var layout = type;
var artwork = $('#artwork').val();
var rarity = $('#rarity').val();
var cost = $('#cost').val();
var type = $('#type').val();
var text = $('#text').val();
var card = {};
card.name = name;
card.layout = layout;
card.artwork = artwork;
card.rarity = rarity;
card.cost = cost;
card.text = text;
$.post('writecard.php', card, function(data){
console.log(data);
});
</script>
</html>
输出:
name: Transfer Power -- artwork: http://static.tvtropes.org/pmwiki/pub/images/Voyager_shield.jpg -- rarity: common -- cost: 3 -- text: Until the start of your next turn, target friendly Ship gains Shield +X and Damage -X where X is the Ship's current Damage. --
为了把javascript从等式中去掉——如果它是一个简单的形式呢?
<html>
<body>
<form action="writecard.php">
<input id="name" name="name" value="Transfer Power" />
<br/>
<input id="layout" name="layout" value="cic" />
<br/>
<input id="artwork" name="artwork" value="http://static.tvtropes.org/pmwiki/pub/images/Voyager_shield.jpg" />
<br/>
<input id="rarity" name="rarity" value="common" />
<br/>
<input id="cost" name="cost" value="3" />
<br/>
<input id="type" name="type" value="unknown" />
<br/>
<input id="text" value="Until the start of your next turn, target friendly Ship gains Shield +X and Damage -X where X is the Ship's current Damage." />
<br/>
<input type="submit" />
</form>
</body>
</html>
相关文章:
- 将图像下载为数据url时出错
- 存储和检索图像数据URL
- 使用finuploader上传数据url
- 将锚点更改为指向页面的数据url属性
- 每当我试图将简单的图像源转换为数据URL时,就会出现安全错误异常
- 正在将数据URL(base64)保存到PhoneGap(android)上的文件中
- 无法使用json数据url在android中运行实时股票图
- Sharrre-Facebook数据文本和数据url没有显示在多个按钮上
- 如何阻止数据URL成为实际URL
- 使用 javascript 将数据URL转换为文件
- JS直接从视频流中获取图像作为数据URL
- 在作为数据URL发送之前裁剪图像
- 画布到数据 URL 不起作用
- 画布到数据URL在第一次尝试时不会返回整个URL
- 在 html5 中将多个画布转换为数据URL
- 从本地 URL 获取数据 URL
- 如何将数据 URL 格式的文件正确保存到隔离存储
- 使用 jQuery 在表单提交时将隐藏的输入值设置为数据 URL
- 从数据 URL 加载脚本内容
- 使用ember数据url模板的EmberJS自定义适配器