相关疑难解决方法(0)

jQuery $ .ajax(),$.post在Firefox中将"OPTIONS"作为REQUEST_METHOD发送

遇到麻烦我认为是一个相对简单的jQuery插件...

该插件应该通过ajax从php脚本中获取数据,以便为a添加选项<select>.ajax请求非常通用:

$.ajax({
  url: o.url,
  type: 'post',
  contentType: "application/x-www-form-urlencoded",
  data: '{"method":"getStates", "program":"EXPLORE"}',
  success: function (data, status) {
    console.log("Success!!");
    console.log(data);
    console.log(status);
  },
  error: function (xhr, desc, err) {
    console.log(xhr);
    console.log("Desc: " + desc + "\nErr:" + err);
  }
});
Run Code Online (Sandbox Code Playgroud)

这似乎在Safari中运行良好.在Firefox 3.5中,REQUEST_TYPE服务器上的"OPTIONS"始终为"OPTIONS",并且不会显示$ _POST数据.Apache将请求记录为"OPTIONS"类型:

::1 - - [08/Jul/2009:11:43:27 -0500] "OPTIONS sitecodes.php HTTP/1.1" 200 46
Run Code Online (Sandbox Code Playgroud)

为什么这个ajax调用在Safari中工作,而不是Firefox,以及如何为Firefox修复它?

Response Headers
Date: Wed, 08 Jul 2009 21:22:17 GMT
Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
X-Powered-By: PHP/5.2.6
Content-Length  46
Keep-Alive  timeout=15, max=100
Connection  Keep-Alive
Content-Type    text/html …

ajax firefox jquery jquery-plugins

329
推荐指数
7
解决办法
33万
查看次数

使用contentType调用Ajax:'application/json'无效

我有一个ajax调用,它将表单数据发送到php函数.由于我阅读了很多使用contentType: 'application/json'最佳实践,我也想尝试一下.但不幸的是,当我使用它时,我的脚本不会返回任何内容.如果我删除它,脚本会执行它应该执行的操作.

你知道原因是什么以及为什么?谢谢!

$('#Form').submit(function(e) {
            e.preventDefault();

            var content = $(this).serialize() + "&ajax=1";

            $.ajax('app/class/controller/contactForm.php', {
              type: "POST",
              //contentType: 'application/json',
              dataType: 'json',
              data: content,
              success: function(result) {
                  console.log(result);
              }
            });
        })
Run Code Online (Sandbox Code Playgroud)

和我的PHP:

if(isset($_POST['ajax']) && $_POST['ajax'] === '1') {
    echo json_encode(validateForm($_POST));
}
Run Code Online (Sandbox Code Playgroud)

php ajax jquery json content-type

11
推荐指数
1
解决办法
3万
查看次数

使用jQuery的跨站点AJAX

我有一个现有的jQuery插件,它可以进行大量的AJAX调用(主要是JSON).我想知道什么是最快允许它进行跨站点调用,即$ .get和$ .post URL不会来自同一个域.

我听说过JSONP,但是想知道是否有人可以给我一个具体的例子来讲述整个过程.我希望尽可能对我的脚本进行微小的更改.我应该使用各种proxy.php吗?

感谢您的时间.

javascript ajax jquery cross-site

6
推荐指数
1
解决办法
9589
查看次数