ajax函数的主线程警告

时间:2015-09-04 20:44:25

标签: javascript ajax

我有一组ajax函数来处理POST和GET上的发送和接收数据。但是我在Chrome上收到了这个警告:

<form is="iron-form" id="itemForm" method="post" action="/api/item/edit"> <input is="iron-input" name="id" type="hidden" value="{{item.id}}"> <paper-dropdown-menu label="Title" selected-item="{{selectedTitle}}"> <paper-menu class="dropdown-content"> <template is="dom-repeat" items="{{titles}}" as="o"> <paper-item value="[[o.id]]">[[o.name]]</paper-item> </template> </paper-menu> </paper-dropdown-menu> <input is="iron-input" name="title" type="hidden" value$="[[selectedTitle.value]]"> <paper-input name="firstName" label="First name" value="{{item.firstName}}"></paper-input> <paper-button raised onclick="document.getElementById('itemForm').submit()">Save</paper-button> </form>

我不清楚如何解决此警告,因为我不想忽视它以便在未来遇到问题。

这是我的ajax功能代码:

Synchronous XMLHttpRequest on the main thread is deprecated

这个警告的具体原因是什么?我将如何纠正它以符合公认的标准?

1 个答案:

答案 0 :(得分:0)

调用send方法时,请确保将最后一个参数(sync)设置为false。如果设置为true,它将异步执行AJAX调用,因此不会向您发出警告。

同步调用确实已弃用,因为它在等待响应时完全阻塞主线程。在大多数情况下,这将完全阻止浏览器的UI,直到呼叫结束。