标签: ajax

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万
查看次数

为什么jquery的.ajax()方法没有发送我的会话cookie?

登录$.ajax()到站点后,我尝试$.ajax()向该站点发送第二个请求 - 但是当我检查使用FireBug发送的标头时,请求中不包含会话cookie.

我究竟做错了什么?

cookies ajax session jquery

326
推荐指数
6
解决办法
31万
查看次数

如何使用Servlets和Ajax?

我是Web应用程序和Servlet的新手,我有以下问题:

每当我在servlet中打印一些东西并通过webbrowser调用它时,它就会返回一个包含该文本的新页面.有没有办法使用Ajax在当前页面中打印文本?

java ajax jsp servlets

326
推荐指数
6
解决办法
32万
查看次数

309
推荐指数
7
解决办法
40万
查看次数

jQuery.ajax处理继续响应:"success:"vs".done"?

我已经使用jQuery和AJAX几周了,我看到了两种不同的方法来在调用完成后"继续"脚本:success:.done.

jQuery文档的概要我们得到:

.done():说明:添加要在解析Deferred对象时调用的处理程序.

success:(.ajax()option):请求成功时调用的函数.

因此,在AJAX调用完成/解决之后,两者都做了一些事情.我可以随机使用其中一个吗?有什么区别,什么时候使用而不是另一个?

ajax jquery

303
推荐指数
2
解决办法
17万
查看次数

在什么情况下,AJAX长/短轮询优先于HTML5 WebSockets?

我正在为朋友建立一个小型聊天应用程序,但不确定如何及时获取信息,而不是手动或基本上强制刷新页面.

目前,我正在使用简单的AJAX实现这一点,但这有一个缺点,即当一个短计时器过去时经常点击服务器.

在研究长/短轮询时,我遇到了HTML5 WebSockets.这似乎很容易实现,但我不确定是否存在一些隐藏的缺点.例如,我认为WebSockets仅受某些浏览器的支持.我应该注意WebSockets还有其他缺点吗?

既然两种技术似乎都做同样的事情,那么在哪种情况下,人们更愿意使用其中一种?更具体地说,HTML5 WebSockets使AJAX长/短轮询过时,还是有令人信服的理由更喜欢AJAX而不是WebSockets?

javascript ajax html5 network-protocols websocket

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

WebSockets协议与HTTP

关于websocket和HTTP有很多博客和讨论,许多开发人员和网站都强烈支持websockets,但我仍然无法理解为什么.

例如(websocket爱好者的参数):

HTML5 Web套接字代表了Web通信的下一个发展 - 一种全双工双向通信通道,通过Web上的单个插槽运行.(http://www.websocket.org/quantum.html)

HTTP支持流媒体:请求正文流(您在上传大文件时使用它)和响应正文流.

在与WebSocket连接期间,客户端和服务器每帧交换2个字节的数据,而连续轮询时则为8千字节的http头.

为什么这2个字节不包括tcp和tcp协议开销?

GET /about.html HTTP/1.1
Host: example.org
Run Code Online (Sandbox Code Playgroud)

这是~48字​​节的http标头.

http chunked编码 - http://ru.wikipedia.org/wiki/Chunked_transfer_encoding:

23
This is the data in the first chunk
1A
and this is the second one
3
con
8
sequence
0
Run Code Online (Sandbox Code Playgroud)
  • 因此,每个块的开销并不大.

这两个协议都可以在TCP上运行,因此所有与长期连接的TCP问题仍然存在.

题:

  1. 为什么websockets协议更好?
  2. 为什么要实现而不是更新http协议?

ajax comet http websocket

297
推荐指数
6
解决办法
12万
查看次数

为什么返回生成的HTML而不是JSON是一种不好的做法?或者是吗?

使用JQuery或任何其他类似框架从您的自定义URL/Web服务加载HTML内容非常容易.我多次使用这种方法,直到现在,发现性能令人满意.

但是所有的书籍,所有专家都试图让我使用JSON而不是生成HTML.它是如何比HTML更优越的?

它快得多吗?
它在服务器上的负载是否很小?

另一方面,我有一些使用生成的HTML的原因.

  1. 它是简单的标记,通常与JSON一样紧凑或实际上更紧凑.
  2. 它不容易出错,因为你得到的只是标记,没有代码.
  3. 在大多数情况下编程会更快,因为您不必为客户端单独编写代码.

你是哪一方,为什么?

html javascript ajax jquery json

294
推荐指数
8
解决办法
6万
查看次数

Jquery - 如何使$ .post()使用contentType = application/json?

我注意到在jquery中使用$ .post()时默认的contentType是application/x-www-form-urlencoded - 当我的asp.net mvc代码需要有contentType = application/json

(请参阅此问题,为什么我必须使用application/json:ASPNET MVC - 为什么ModelState.IsValid为false"当该字段确实有值时,x字段是必需的?)

如何使$ .post()发送contentType = application/json?我已经有了大量的$ .post()函数,所以我不想改成$ .ajax(),因为它需要花费太多时间

如果我试试

$.post(url, data, function(), "json") 
Run Code Online (Sandbox Code Playgroud)

它仍然有contentType = application/x-www-form-urlencoded.那么如果"json"参数没有将contenttype更改为json,那究竟该做什么呢?

如果我试试

$.ajaxSetup({
  contentType: "application/json; charset=utf-8"
});
Run Code Online (Sandbox Code Playgroud)

这有效但影响我拥有的每一个$ .get和$ .post并导致一些破坏.

那么有什么方法可以改变$ .post()的行为来发送contentType = application/json?

ajax jquery content-type

290
推荐指数
10
解决办法
37万
查看次数

在某些AJAX调用上出现"net :: ERR_BLOCKED_BY_CLIENT"错误

最近我意识到,一些adblocker扩展(例如adBlocker plus)阻止了一些Ajax调用.我在控制台上遇到了这个错误:

GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT 
Run Code Online (Sandbox Code Playgroud)

为什么它会阻止某些Ajax调用而不是其他调用,以及导致这种情况的原因 除了告诉用户关闭adblocker之外,还有其他解决方法吗?

ajax firefox-addon google-chrome-extension

275
推荐指数
10
解决办法
29万
查看次数