问题标签 [jqxhr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 从失败的 JQuery jqXHR 请求中获取更多信息
我正在使用 JQuery$.when
并$.get
获取一些数据并对其进行处理。当获取它或使用它做某事发生错误时,我想处理该错误,并根据我正在获取的数据/在哪个路径获取它来不同地处理它。
不幸的是,传递给的信息$.when().fail(...)
很少,并且不包括该信息。我怎样才能以一种非 hacky [1] 的方式从可延迟的信息中冒泡?
[1]:当然,我可以关闭路径和一些我想要处理失败的全局对象,并在返回.fail()
的 Deferred 上处理它。$.get
我也可以传递一个没有失败但以某种方式包装失败的 Deferred ,但这也感觉很hacky。
javascript - 当 HTTP 响应有失败代码时,如何从 JSON 响应中读取属性?
我有这个代码:
服务器端返回一个像这样的 JSON:
但也返回一个 400 代码,因此 Ajax 调用将通过.fail()
回调 insted .done()
。有了这些信息,我如何error
从 JSON 中获取密钥.fail()
以显示给用户?
我找到了这段代码:
关于这个主题,但不知道是否正确以及是否会以某种方式影响我的代码。
有什么帮助或建议吗?
php - jqxhr到本地服务器找不到php文件
我根据 Cimbali 的建议更新了这个问题。这是现在指定请求的 js 代码:
这是我输入一些数据时的控制台输出:
有什么建议么?请注意,控制台错误之后会立即出现同一文件的“成功”响应。但是php文件仍然没有运行。我没有收到来自服务器的 php 错误响应 - 我也没有看到我放置在 php 文件第一行的嵌入回显echo("Got here!);
。即使我注释掉除该行之外的所有内容也是如此。
我不认为它在 php 代码中,但以防万一,这里是:
再次感谢您的浏览。
jquery - 进度条未正确显示 - 使用 ajax 上传文件
上面的代码完美地上传文件。如图所示,只有最后一张图像取得了进展。执行console.log( i + ':' + progressValue );
此操作时,这也表明仅附加了最后一个图像进度。
更有趣的是,如果我在下面发出警报:
那么我得到的输出是这样的:
然后我使用了该setTimeout
功能,但这也没有帮助我。是什么导致了这种行为?我希望你们能理解我的问题。任何帮助,将不胜感激。
php - 使用 Laravel 4.2 导入 Maatwebsite/Excel 失败
我正在编写一个 Web 应用程序来解析 Excel 文件,每个文件都包含大量数据(约 47 列和数千行)。框架是 Laravel 4.2,使用的包是 laravel-excel (maatwebsite/excel)。
当我编写所有代码时,我有一个来自客户的示例文件,它包含 620 行并且一切正常。现在,一些文件可以工作,而大多数文件都不能。错误很奇怪。好的,一步一步来:
逻辑
用户通过 选择一个文件<input type="file">
,然后这个文件通过 发送到服务器$.ajax
,服务器用这个文件的属性创建一个Job
实例并将这个实例返回给客户端。客户端收到此Job
实例并查看progress
此实例Job
(即解析的行数)是否低于total
(即总行数)。如果是这样,则客户端向服务器发送一个请求以执行此操作Job
(即解析更多行,例如 200)。所以客户端和服务器之间总是有对话,像这样:
- 客户:尊敬的服务器,我特此上传此文件
orders_123.xlsx
。 - 服务器:尊敬的客户,谢谢您,我存储了您的文件并创建了
Job
一个id = 27
. 您的文件有total = 623
行,当前的progress = 0
. - 客户: 亲爱的服务器,谢谢您,请用 执行此
Job
操作id = 27
,取200
行。尽快回复。 - 服务器:亲爱的客户,我按照你的要求做了,你现在已经
Job
有了。id = 27
progress = 200
- 客户端:好的,服务器,请,
Job
一次又一次地执行此200
操作。 - 就这样继续下去,直到工作完成。
您可能会问为什么我这样做很奇怪,而不是仅仅要求服务器导入所有行,但在这里,我再次发现这里涉及到一些黑魔法,并且这种方式是它大部分时间的唯一方式(否则服务器会失败)。
JavaScript
路线
OrdersFPController@handleOrdersImport
问题是有时当脚本到达时$sheet = Excel::load($path . '/' . $filename_new, function($reader) {})->get();
,服务器返回Error 500 (Internal server error)
。有时它甚至会杀死我的服务器(不是开玩笑),停止php artisan serve
终端中的命令。一些截图:
苹果浏览器
http://i.stack.imgur.com/3gkpr.png
http://i.stack.imgur.com/m8V4s.png
火狐
http://i.stack.imgur.com/QVceP.png
http://i.stack.imgur.com/IcOQF.png
http://i.stack.imgur.com/xvFoN.png
http://i.stack.imgur.com/flx3K.png
好吧,这就是问题所在。服务器什么也不返回,只是一个错误,没有描述。
编辑:
正如@lukasgeiter 所提到的,我检查了日志文件。当代码为Excel::filter('chunk')->load($path . '/' . $filename_new)->chunk(50, function($results) { /// });
时,输出如下:
如果使用常规$sheet = Excel::load($path . '/' . $filename_new, function($reader) {})->get();
,则不会将任何内容写入日志文件。
ajax - Ajax not working with SSL on IE error code 12019
I am working on a web application built on Java, JSP, Ajax the servers are JBoss with front in Apche 2 server. The application is accessed over the internet. clients are using mostly IE 7, 8, 9 Browsers.
The application was working perfectly before.Recently we applied SSL certificates over the site, after this we started getting complaints from the user that pages where Ajax is applied are not submitting. Normally we call the ajax on submit button and block the page till response is received from the server. we applied loggers and found that the ajax request calls are failed with ajax jqXHR error status as 12019.
We observed that this error is observed by the users where IE (mostly version 8 and 9) is used. the pattern of error is also not same. some time the same user able to submit page who complaint earlier and some time not. i tried best to produce this scenario over my local and development environment but could not.
i google the problem and found something that 12019 error code is a bug of IE. but why it worked before applying the SSL,
and if SSL is not correct why the problem is only at the ajax page why not somewhere else. I cant say users to change the browser.
This driving me crazy for more then a week. Please help me if anyone else has observed and solve this before.
jquery - 为什么当 jquery ajax 文档说“为了与 XMLHttpRequest 向后兼容”时,它的意思是什么?
我正在查看 jQuery 的ajax方法的当前版本(1.11.2)的文档。它jqXHR
以以下行开头对对象的解释:
为了向后兼容
XMLHttpRequest
,jqXHR
对象将公开以下属性和方法:
为什么这是“向后兼容”?是否XMLHttpRequest
已弃用?如果是这样,如果不通过jqXHR
对象访问 HTTP 响应的正确方法是什么?
注意:似乎很多关于.ajax()
告诉您使用success
and的博客文章error
,尽管它们已被弃用。我应该做更多类似的事情:
javascript - Javascript 无法从 url 获取 Json 数据
我正在尝试使用 Javascript 从我的服务器获取 json 数据,并且我遵循了此处提供的解决方案。但这对我不起作用。我发现 xhr.onload = function() 在我的情况下没有运行。如何弄清楚?
javascript - 如何在 jQuery Ajax 中返回数据?
假设我有一个简单的功能:
所以我想要的是在调用它并在调用中添加回调以处理这些错误之后而不是在函数内部处理错误,这可能吗?
html - 如何使用ajax设置图片的src?
获取图像时我需要设置一些标题。该img
src
属性不允许这样做,所以我使用 XHR 请求来获取图像。但是,当我在该请求完成后src
在标签上设置属性时img
,看起来请求又被触发了。有没有办法缓存图像而不触发第二个请求?
示例代码:
JS 小提琴:https ://jsfiddle.net/mehulkar/o4Lcs5Lo/
注意:我的问题不是关于如何在 xhr 请求中设置适当的标头。我的问题是如何不从src
属性设置中触发另一个 GET 并使用来自 XHR 的响应来显示图像。