标签: ajax

JS:[Deprecation]主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用

我在尝试Ajax请求的项目中收到错误

[Deprecation]主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用.

function getReviews() {
var toReturn = $.ajax({
    url: 'API/reviews.json',
    async: false
}).responseJSON;
return toReturn;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有不同的方法来写这个没有错误

javascript ajax

4
推荐指数
1
解决办法
2万
查看次数

在预检中使用HTTP 401的Ajax CORS请求

我现在挣扎了好几个小时.我想向另一个域发出一个简单的ajax请求,但始终获取http 401错误:

jQuery(document).ready(function($){
  var challengeid = $('#codepressHook').data('challengeid');
  var clicked = false;
  $('#codepressHook').click(function(){
    if(!clicked){
      $.ajax({
        url: "https://dev.radbonus.com/admin/affiliate-connections/retrieveSingle/"+challengeid+".json",
        method: "GET",
        dataType: "json",
        jsonp: false,
        contentType: "application/json",
        xhrFields: {
          withCredentials: true
        },
        beforeSend: function(xhr){
          xhr.setRequestHeader("Authorization", "Basic "+ btoa(username+":"+password));
        },
        success: function(data){
          $('#codepressHock').html(data.data.code);
        },
        error: function(error){
          alert(error);
        }
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

我在服务器端设置了所有相关的CORS头.这是网络流量:

Request URL:https://dev.radbonus.com/admin/affiliate-connections/retrieveSingle/45.json
Request Method:OPTIONS
Status Code:401 Unauthorized
Remote Address:185.102.94.230:443
Referrer Policy:no-referrer-when-downgrade

Response Headers
view source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Content-Type, X-Requested-With, Authorization, Origin
Access-Control-Allow-Methods:POST, GET, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:http://radbonus.com
Access-Control-Max-Age:31536000
Content-Length:463
Content-Type:text/html; charset=iso-8859-1
Date:Sat, …
Run Code Online (Sandbox Code Playgroud)

javascript ajax http-error cors

4
推荐指数
1
解决办法
2万
查看次数

从Office加载项发送POST AJAX请求

我正在尝试从我的Outlook加载项发送第三方服务的POST Ajax请求,但无论我尝试接收什么Error: Access is denied,状态0(请求永远不会命中服务器).

假设我们正在运行IE9或8,我尝试了旧的学校黑客,如https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest.

$.ajax({
    url: endpoint,
    data: JSON.stringify({'1':'2'}),
    // headers: {'X-Requested-With': 'XMLHttpRequest'},
    contentType: 'text/plain',
    type: 'POST',
    dataType: 'json',
    error: function(xhr, status, error) {
        // error
      }
}).done(function(data) {
    // done
  });
Run Code Online (Sandbox Code Playgroud)

我需要实施更多的东西吗?因为我将我的域添加到manifest AppDomain属性.

干杯

ajax outlook outlook-addin office365 office-js

4
推荐指数
1
解决办法
2541
查看次数

XHR.getAllResponseHeaders()不会按照Chrome 60中的预期返回标头

在我们的Web应用程序中,我们使用XHR.getAllResponseHeaders()-function来获取头字段名称.我们使用它X-Access-Token来接收我们在下一个请求中发送的JWT令牌以保持会话.从今天开始,登录后,每个下一个请求都会导致重定向回登录页面.

奇怪的是,只有Chrome才有这个问题,而不是Firefox或Safari.它只在我的电脑上,因为我的同事仍然可以登录,而我不能.

我们使用相同的软件,一些javascript,相同的一切,所以我们注意到它必须是我的浏览器.试过重新安装和禁用一些插件,但这没关系.

我看起来该XHR.getAllResponseHeaders()函数返回错误的值,虽然我们从服务器发送正确的值...任何人都知道为什么它不再工作?

javascript ajax google-chrome header xmlhttprequest

4
推荐指数
1
解决办法
4079
查看次数

Safari中Ajax加载的图片不符合srcset

因此,关于野生动物园我遇到了一个奇怪的问题。我正在为我们公司开发一个新站点,并且正在使用PJAX加载页面内容。我使用srcset属性显示的大多数图像,例如下面的示例代码:

<img src="/img/projects/{{ post.cover-image }}.jpg" alt="{{ post.title }}"
srcset="/img/projects/{{ post.cover-image }}-400.jpg 400w,
/img/projects/{{ post.cover-image }}-600.jpg 600w,
/img/projects/{{ post.cover-image }}-900.jpg 900w,
/img/projects/{{ post.cover-image }}-900.jpg 1200w,
/img/projects/{{ post.cover-image }}-900.jpg 1800w,
/img/projects/{{ post.cover-image }}-900.jpg 2400w"

sizes = "(min-width: 2400px) 900px,
(min-width: 1800px) 600px,
(min-width: 1200px) 500px,
(min-width: 900px) 500px,
(min-width: 600px) 600px,
(min-width: 400px) 400px" />
Run Code Online (Sandbox Code Playgroud)

请注意,这是使用jekyll构建的,因此已存在变量。

我在这些图像上使用对象适合,但我意识到这有其自身的问题(主要是IE),但这是一个不同的主题。无论页面是最初加载的页面还是通过单击链接通过PJAX加载的页面,正确的图像都可以在Firefox和Chrome上正确显示。

Safari出现问题,如果页面是初始页面,则图像会正确显示,但是当通过单击链接通过PJAX加载页面时,srcset中最小的图像就是被加载的图像。看起来当由PJAX加载时,对象适配可能也会断裂,但在初始加载时不会断裂。

这是指向页面的链接,您可以看到此情况的示例:http : //insight.insightcreative.info/work

如果直接加载页面或进行强制刷新,则图像将看起来都很好。但是,如果您通过单击链接离开页面,然后再次单击工作链接返回页面,则会突然发现所有图像的质量都很差,并且正在加载-400(400px)图片的尺寸版本。

发生的另一件奇怪的事情,例如在此页面上:http : //insight.insightcreative.info/work/river-valley-bank-50th-anniversary.html,该图像仅在最初加载页面时才会显示。如果通过链接(工作页面上的第一个项目)通过PJAX导航至页面,则图像甚至不会显示。

起初我还以为这些问题可能发生的,因为我没有足够的尺寸属性包括在我的srcset图像,但在测试他们与包括大小属性之后,他们仍然不正常工作。我不知道这是否是关于Safari的Ajax,css或html的问题。

有人可以提供的任何见解都会很棒。同样,这些只是我在Safari中看到的唯一问题。

编辑

作为解决图像质量的方法,我仔细检查了所有图像,并从最高质量到最低质量对srcset图像进行了排序。由于Safari仅查看srcset中的第一张图像,因此至少为我提供了高质量的图像。我仍然不知道为什么Safari在加载AJAX时将某些图像的高度设置为0,但是对此我会提出另一个问题。

html javascript css safari ajax

4
推荐指数
1
解决办法
955
查看次数

使用Ajax通过https访问带有自签名证书的localhost

我正在开发运行服务器https://localhost:port并使用自签名证书的NodeJS应用程序 (因为没有供应商为localhost提供证书).我正在使用来自我网站的AJAX调用来访问locahost并将数据发送到NodeJs应用程序.由于预期的INSECURE_CONTENT,我的电话被阻止了.我想知道我们是否有任何解决方法?

ajax ssl localhost node.js

4
推荐指数
1
解决办法
1718
查看次数

示例AJAX回调到ASP.NET Core Razor页面

我发现在页面上有多个处理程序的示例以及相关的命名约定(即OnPostXXX)和'asp-post-hanlder'标记帮助程序.但是如何从AJAX调用中调用其中一个方法.

我有一个典型的MVC视图和控制器的旧示例,但这如何与Razor页面一起使用?

例如,如果我使用基本应用程序并将About.cshtml页面修改为以下内容:

@page
@model AboutModel
@{
    ViewData["Title"] = "About";
}
<h2>@ViewData["Title"]</h2>
<h3>@Model.Message</h3>

    <input type="button" value="Ajax test" class="btn btn-default" onclick="ajaxTest();"  />

@section Scripts {
<script type="text/javascript">
    function ajaxTest() {
        console.log("Entered method");
        $.ajax({
            type: "POST",
            url: '/About', // <-- Where should this point?
            contentType: "application/json; charset=utf-8",
            dataType: "json",
        error: function (xhr, status, errorThrown) {
            var err = "Status: " + status + " " + errorThrown;
            console.log(err);
        }
        }).done(function (data) {
            console.log(data.result);
        })
    }
</script>
}
Run Code Online (Sandbox Code Playgroud)

在模型页面About.cshtml.cs上

public class AboutModel : …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-core-2.0 razor-pages

4
推荐指数
1
解决办法
2万
查看次数

Laravel @include通过ajax的刀片视图

我有一个@include一些内容的页面,我想@include使用ajax请求的刀片视图文件.我该怎么办

基本上,视图文件将从服务器获取项目,

**price.blade.php**
@foreach ($items as $item)
<div class="item-post">
  <div class="priceofitem">{{ $item->price }} </div>
Run Code Online (Sandbox Code Playgroud)

我想在我的标签部分中包含@include('price.blade.php')

<ul class="tabs">
<li><a href="#tab1">Prices </li>
<div id="tab1">@include('price.blade.php')</div>
Run Code Online (Sandbox Code Playgroud)

我不希望在加载时自动包含该视图文件,因为我不想加载该选项卡的内容,除非用户点击它,如果用户想要价格而不是用户点击该选项卡,以及AJAX请求将被发送以包含该文件.

希望我明确表示,如果你不理解我,请告诉我.

手指交叉

javascript ajax jquery laravel blade

4
推荐指数
2
解决办法
9940
查看次数

Asp.net Core 2.0 Razor Pages Ajax Post

我试图只是jquery ajax调用以从Razor页面检索用户列表。

Users.cshtml.cs页面:

public ActionResult OnPostList(string FirstName, string LastName,string IsActive)
{
        var data=(from s in _db.SecurityUser
                 where s.FirstName.Contains(FirstName) && s.LastName.Contains(LastName) && (IsActive=="" || (IsActive =="Y" && s.IsActive==true) || (IsActive == "N" && s.IsActive == false))
                 select s).OrderBy(s=>s.FirstName);
        return new JsonResult(data);
}
Run Code Online (Sandbox Code Playgroud)

JS通话:

$.ajax({
    type: "POST",
    url: "/Security/Users?handler=List",
    data: JSON.stringify({
        FirstName: $("#txtFirstName").val(),
        LastName: $("#txtLastName").val(),
        IsActive: $("#ddActive").val()
    }),
    contentType: "application/json",
    dataType: "json",
    success: function (response) {
        var d = response.d;
        var tblBody = $("#tblUsers > tbody");
        tblBody.empty();
        $.each(d, function (i, item) { …
Run Code Online (Sandbox Code Playgroud)

ajax razor asp.net-core-2.0

4
推荐指数
3
解决办法
9399
查看次数

反应中止/取消AJAX请求。Axios或XHR

我只是开发一个SPA,并且需要我通过react componentDidMount发送到我的服务器端(节点)的异步请求提供帮助。查询有效,但是如果我快速切换到其他页面,则ajax响应中的setState函数仍在运行。尽管未安装组件。

只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了setState()。这是无人值守。请检查未定义组件的代码。

为避免此错误,如果这是正确的方法,我想中止/取消在componentWillUnmount上发送的请求。

我尝试使用xml和axios进行此操作,但是它不起作用。我希望你有一个对我有用的榜样。我为其他请求方法(例如提取或其他方法)开放。

该代码看起来像这样(Axios),但是它不会取消请求:

import * as React from 'react';
import axios from 'axios';

let CancelToken = axios.CancelToken;
let source = CancelToken.source();

class MakeAjaxRequest extends React.Component {
  constructor() {
    super();
    this.state = {
      data: {}
    }
  }

  componentDidMount() {
    const that = this;

    axios.get('/user/12345', {
      cancelToken: source.token
    })
      .then(function (response) {
        if (axios.isCancel(response)) {
          console.log('Request canceled', response);
        } else {
          that.setState({
            data: response.data
          });
        }
      })
      .catch(function (thrown) {
        if (axios.isCancel(thrown)) {
          console.log('Request canceled', thrown.message);
        } else { …
Run Code Online (Sandbox Code Playgroud)

javascript ajax reactjs

4
推荐指数
1
解决办法
4691
查看次数