相关疑难解决方法(0)

JavaScript发布请求,如表单提交

我正在尝试将浏览器定向到其他页面.如果我想要一个GET请求,我可能会说

document.location.href = 'http://example.com/q=a';
Run Code Online (Sandbox Code Playgroud)

但是我试图访问的资源不会正常响应,除非我使用POST请求.如果这不是动态生成的,我可能会使用HTML

<form action="http://example.com/" method="POST">
  <input type="hidden" name="q" value="a">
</form>
Run Code Online (Sandbox Code Playgroud)

然后我只需从DOM提交表单.

但实际上我想要允许我说的JavaScript代码

post_to_url('http://example.com/', {'q':'a'});
Run Code Online (Sandbox Code Playgroud)

什么是最好的跨浏览器实现?

编辑

对不起,我不清楚.我需要一个改变浏览器位置的解决方案,就像提交表单一样.如果使用XMLHttpRequest可以实现这一点,那就不明显了.这不应该是异步的,也不应该使用XML,所以Ajax不是答案.

javascript forms post http submit

1465
推荐指数
17
解决办法
139万
查看次数

将数据URI转换为File然后附加到FormData

我一直在尝试重新实现像Mozilla Hacks网站上的 HTML5图像上传器,但它适用于WebKit浏览器.部分任务是从canvas对象中提取图像文件并将其附加到FormData对象以进行上载.

问题是虽然canvas具有toDataURL返回图像文件表示的函数,但FormData对象仅接受来自File API的 File或Blob对象.

Mozilla解决方案使用以下仅限Firefox的功能canvas:

var file = canvas.mozGetAsFile("foo.png");
Run Code Online (Sandbox Code Playgroud)

...在WebKit浏览器上不可用.我能想到的最好的解决方案是找到一种方法将数据URI转换为File对象,我认为它可能是File API的一部分,但我不能为我的生活找到一些东西.

可能吗?如果没有,任何替代方案?

谢谢.

javascript html5 webkit

270
推荐指数
11
解决办法
23万
查看次数

为什么canvas.toDataURL()会抛出安全异常?

我睡眠不足还是什么?以下代码

var frame=document.getElementById("viewer");
frame.width=100;
frame.height=100;

var ctx=frame.getContext("2d");
var img=new Image();
img.src="http://www.ansearch.com/images/interface/item/small/image.png"

img.onload=function() {
    // draw image
    ctx.drawImage(img, 0, 0)

    // Here's where the error happens:
    window.open(frame.toDataURL("image/png"));
}
Run Code Online (Sandbox Code Playgroud)

抛出这个错误:

SECURITY_ERR: DOM Exception 18
Run Code Online (Sandbox Code Playgroud)

这不可能不起作用!请问有人解释一下吗?

javascript html5 canvas cross-domain

88
推荐指数
4
解决办法
7万
查看次数

标签 统计

javascript ×3

html5 ×2

canvas ×1

cross-domain ×1

forms ×1

http ×1

post ×1

submit ×1

webkit ×1