开发者社区> 问答> 正文

通过jquery调用表单API出现401错误

源代码如下:

<html>
  <head>
    <meta charset=utf-8>
    <script src="../qddian/js/jquery.js"></script>
  </head>
  <body>
    <form action="http://v0.api.upyun.com/<?php echo $bucket?>"
    method=post enctype="multipart/form-data">
      <!-- 需要传递以下三个表单内容 -->
      <input type=hidden name=policy value="<?php echo $policy?>">
      <input type=hidden name=signature value="<?php echo $signature?>">
      <input type=file name=file>
      <a id=upload href=#>上传</a>
    </form>
  </body>
</html>
<script>
    $(function(){
        $('a#upload').click(function(){
            //$('form').submit();

            $.post(
                'http://v0.api.upyun.com/<?php echo $bucket; ?>',
                {
                    file: $('input[name=file]').val(),
                    policy: $('input[name=policy]').val(),
                    signature: $('input[name=signature]').val()
                },
                function(data){
                    alert('Data: ' + data);
                }
            );

            return false;
        });
    });
</script>

通过上述方式则提示"401 Unauthorized sign error",但通过$('form').submit()方式提交则返回200成功。截图如下,请各位大牛协助解决一下,不胜感激!
screenshot
screenshot

展开
收起
云栖技术 2016-05-25 08:54:29 4587 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    401的错误是签名的问题:
    401:Unauthorized 访问未授权
    401:Sign error 签名错误(操作员和密码,或签名格式错误)
    sign error:
    检查签名格式是否和又拍接口文档中一致。
    Unauthorized:
    错误检查空间名,操作员,密码等信息填写是否正确,上传路径是否有根“/”开始。
    你可以参考下以上错误提示。

    2019-07-17 19:13:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CUDA MATH API 立即下载
API PLAYBOOK 立即下载
传统企业的“+互联网”-API服务在京东方的实践 立即下载