0

在除 Internet Explorer 之外的所有其他浏览器中,我可以使用 jQuery 表单插件从 ajax 请求访问响应数据。当我在 Internet Explorer 中执行相同操作时,数据会进入,但我无法访问它。我在 IE9 的控制台中不断收到“SCRIPT5: Access Denied”错误。我如何访问这些数据,因为它显然是进来的,但是任何时候我什至尝试控制台它都会抛出那个错误。是的,console.log 确实在 IE9 中工作。我已经测试过了。

function run() {
        $("#testing").ajaxSubmit({
            success: function (data) {
                console.log(data);
                var parsedjson = JSON.parse(data)[0];
            }
        });
    }

<form id="testing" action="http://clvapi/upload/uploadhandler.ashx" method="POST" enctype="multipart/form-data">
<div class="twitter-bootstrap-upload">
    <div class="fileupload fileupload-new" data-provides="fileupload">
      <div class="fileupload-preview thumbnail" style="width: 200px; height: 150px;"></div>
      <div>
        <span class="btn btn-file"><span class="fileupload-new">Select image</span><span class="fileupload-exists">Change</span><input type="file" name="files[]" onchange="run()"/></span>
        <a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
      </div>
    </div>
</div>

4

1 回答 1

0

我假设testing是你的形式。

试试这个而不是使用插件:

    $("#testing").on('submit', function(){
        $.post(this.action, $(this).serialize(), function (data) {
            console.log(data);
            var parsedjson = JSON.parse(data)[0];
        });
        return false; //prevent the default `submit` from occuring
    });

然后,当您想(以编程方式)提交表单时,只需执行以下操作:

    $("#testing").trigger('submit');

或者,如果您不想从 js 代码提交表单,只需像往常一样提交即可。

于 2012-12-13T18:10:07.123 回答