Mootools:拒绝设置不安全的标题“连接”

时间:2012-08-21 10:57:17

标签: javascript mootools

我正在尝试使用Mootools发送一个简单的ajax post请求,但我只是在标题中收到错误消息,似乎它没有正确发送数据(请求被取消)。

这是html:

<form id="form_5" name="form_5" action="someajaxfile.php" onsubmit="jsfunction(this,5);return false;" method="post">....</form>

以下是提交时调用的javascript函数:

function jsfunction(form,eventId) {
        var container = $('form_contents' + eventId);

        form.send({
            update: container,
            evalScripts: true,
            onComplete: function() {
                container.removeClass('ajax-loading');
            }
        });

    }

我尝试将诸如headers: {'X-Request': 'JSON'},之类的内容添加到send函数中,但似乎没有任何更改错误。一个奇怪的事情是,在网络选项卡下的chrome中,我可以看到两个请求:

someajax.php
/somefolder
POST
302
Found
text/html
mootools.js:247
Script
354B
0B
2ms
2ms
2ms0


someajax.php
/somefolder
GET
(canceled)
Pending
http://localhost:8888/somefolder/someajax.php
Redirect
13B
0B
0ms
0.0 days

问题是:为什么我不能发送数据,发生了什么以及为什么以及我的问题有什么好的解决方案?

2 个答案:

答案 0 :(得分:1)

  

问题是:为什么我不能发送数据,发生了什么以及为什么和   它对我的问题有什么好的解决方案吗?

您的问题是Chrome + Local和 - allow-file-access-from-files 限制的组合。

尝试:

  • 在“安全”环境中以chrome(dev)运行这些文件 命令--allow-file-access-from-files
  • 在其他浏览器中运行您的文件

答案 1 :(得分:1)

嗯,在尝试了几件事后,我不认为可以直接从表单元素发出“AJAX”请求(但如果我错了,我想看一个例子如何工作n_n)

通常我使用Request的实例(或任何扩展名:Request.JSON,Request.JSONP,Form.Request)。

我会这样做:

function myfunction(form){
    new Request({
      url:form.action,
      data:form,
      onSuccess:function(result){
          console.log(result);
      }
    }).send();
    return false;
};

这里有一个工作示例:http://jsfiddle.net/pCUKe/