Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新下拉列表时,如果中的Web服务不可用,您该怎么办?_Javascript_Jquery - Fatal编程技术网

Javascript 更新下拉列表时,如果中的Web服务不可用,您该怎么办?

Javascript 更新下拉列表时,如果中的Web服务不可用,您该怎么办?,javascript,jquery,Javascript,Jquery,我正在填充从jquery ajax调用到返回json数据的web服务的下拉列表。如果由于某种原因Web服务失败或不可用,我该如何处理?我不想让我的用户看到一个空的下拉列表 如何缓存上次成功的呼叫并使用它?如果服务不可用,则您必须通知用户页面未正确加载。或者重试一次或两次,但如果它第一次关闭,可能会关闭一段时间您可以使用它在支持它的浏览器中缓存结果。或者写一块饼干 如果没有,或者您没有数据,只需隐藏下拉列表并在其位置显示错误面板。如果所有用户的数据都相同并且没有太频繁更改,您可以将其缓存在服务器上

我正在填充从jquery ajax调用到返回json数据的web服务的下拉列表。如果由于某种原因Web服务失败或不可用,我该如何处理?我不想让我的用户看到一个空的下拉列表


如何缓存上次成功的呼叫并使用它?

如果服务不可用,则您必须通知用户页面未正确加载。或者重试一次或两次,但如果它第一次关闭,可能会关闭一段时间

您可以使用它在支持它的浏览器中缓存结果。或者写一块饼干


如果没有,或者您没有数据,只需隐藏下拉列表并在其位置显示错误面板。

如果所有用户的数据都相同并且没有太频繁更改,您可以将其缓存在服务器上,并且只有在缓存不可用/过时时才执行AJAX调用。(如果缓存过时,但AJAX调用失败,那么提供稍微过时的数据可能比不提供数据要好。)

缓存数据时要小心——有几种服务(我想到的是英国的DVLA)缓存数据违反了它们的使用条款

您需要向用户指示服务因任何原因失败

也许您应该尝试在页面准备好后加载数据,如果Web服务失败,则导航到错误页面