相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

jQuery.parseJSON vs JSON.parse

jQuery.parseJSON并且JSON.parse是执行相同任务的两个函数.如果已经加载了jQuery库,那么在性能方面会jQuery.parseJSON比使用更好JSON.parse吗?

如果是,为什么?如果不是,为什么不呢?

javascript jquery

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

Chrome中的Ajax同步请求失败

最新版本的Chrome是否已停止同步Ajax调用?进行同步Ajax调用时出现错误。我们更新到最新的Chrome版本-73.0.3683.103后,该问题突然出现。目前,同步调用在Firefox和IE上可以正常工作。我们正在犯错误

消息:“无法在'XMLHttpRequest'上执行'发送':无法加载'Path ...':页面关闭时的同步XHR”。名称:“ NetworkError”

有人可以建议一种解决方案以使Ajax同步调用正常工作。我有一些功能需要确定依赖同步调用。

ajax jquery

17
推荐指数
1
解决办法
3550
查看次数

onclick将textarea附加到div

用户按下button我的网页后,我目前有一个ajax调用.

问题是,提交后,有一点延迟(因为第二个ajax调用需要完成以显示DIV)以避免轻微的延迟..我想知道是否可以将内容附加到DIV:

    <textarea name='Status'> </textarea>
    <input type='hidden' name='UserID' value="<?=$_SESSION['UserID']; ?>">
    <input type='button' value='Status Update'>
  <script>
  $(function () {
    $('input').on('click', function () {
        var Status = $(this).val();
       $('#output').append(Status);
});
  </script>
Run Code Online (Sandbox Code Playgroud)

以上是我目前的代码配置.现在,这不能按预期工作.它不会将提交的内容添加到DIV中.以下是通过我的ajax调用显示它的方式:

window.setInterval(function()
{
  $(function () 
  {
    $.ajax({                                      
        url: 'Ajax/AjaxStatuses.php', data: "", dataType: 'json',  success: function(rows)        
        {
        $('#output').empty();
            for (var i in rows)
            {
                var row = rows[i];          
                var User = row[0];
                var Status = row[1]
                    $('#output').append(''+
                    '<div class="small-3 large-2 columns "><img src="http://placehold.it/80x80&text=[img]" /></div>'+
                    '<div class="small-9 large-10 columns">'+
                        '<p><strong><a href="#">'+User+'</a>:</strong>'+Status+'</p>'+ …
Run Code Online (Sandbox Code Playgroud)

javascript php

12
推荐指数
2
解决办法
1766
查看次数

从jQuery执行同步Ajax请求?

我知道这听起来像以前被问过的东西,但是对于我所有的狩猎,我找不到任何与我正在寻找的东西相匹配的东西.

我正在开发一个基于Ajax的项目.我正在使用jQuery,但即使它使用精美的代码,当我已经达到代码完全相同时,它仍然很混乱,除了通过data字段传递的单个命令.

所以我尝试在处理函数中设置它,如下所示:

function _call(task, opts, async) {
    if(typeof async !== "boolean") { async = true; }
    opts = $.extend({}, opts, options);
    $.ajax({
        url: "myphpfile.php",
        dataType:"JSON",
        type:"POST",
        async:async,
        data: { task: task, opts: opts }
    }).done(function(data) { return data; });
}
Run Code Online (Sandbox Code Playgroud)

对于那些通读的人,你会注意到有一个var, options在示例中没有定义.它实际上已被分配,为了清楚起见,它被省略了.

我开始意识到这不起作用,因为即使它被设置async: false,代码仍然在调用之后继续_call(...),因此不能及时得到结果.我尝试了一些不同的变体,包括将匿名函数传递给处理程序,然后将其用作.done()函数,但它不会与外部变量交互,从而无法实现目的.

我正在寻找的是一个让我使用它的系统:

var returnedData = _call("thisismytask");
var returnedDataWithOptions = _call("thisisanothertask", {'option': 'option1'});
Run Code Online (Sandbox Code Playgroud)

我真的希望这是可能的.我确信它会是,因为函数的主要目的是消除不必要的重复代码的需要.

谢谢.:)

javascript ajax jquery

3
推荐指数
1
解决办法
6069
查看次数

使用 jquery 获取 URL 内容

我正在使用读取本地文件的内容,jquery我得到undefined.

我觉得问题与 URL 加载的同步有关。但我不知道如何修复此代码:

function url_content(url)
{
    var content;
    $.get(url,function( data ) {content=data});
    return content;
}


var content=url_content("local_templates/template1.html");
alert(content);
Run Code Online (Sandbox Code Playgroud)

javascript url jquery curl

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

jquery从多个ajax调用中收集

我试图使用jquery和ajax从几个url收集数据,然后从中创建内容.但是,我必须遗漏一些东西,因为它似乎不起作用.

我有这样的事情:

var html = "";
function loadByUrl(url) {
    $.ajax({
        url: url, 
        dataType: 'json',
        async: false,
        success: function(json) {
          $.each(json.data.children, function(i,item){
            if( someCondition ) {
                $(item.data).appendTo("#content");
            } else {
                html += "<div>" + item.data + "</div>"; 
            }
          }
        }
    });
}

loadByUrl("http://fake1.com");
loadByUrl("http://fake2.com");
loadByUrl("http://fake3.com");
$(html).appendTo("#content");
Run Code Online (Sandbox Code Playgroud)

基本上,如果满足某些条件,那么我将立即添加内容,否则我想在内容的末尾添加所有其他"已保存"的内容.

我正在尝试做什么?如果是这样,怎么样?

javascript jquery

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

ajax 函数返回值 undefined / [object object] for jquery v3.41+

在我的研究中,我一直无法找到不包含折旧的 jquery 功能的 ajax 函数示例。我需要 v3.4.1 / 2020 解决方案。


问题:

我可以获得将数据正确输出到console.log()a 之前的函数return。我的期望是console.log()显示返回的数据。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
function getData (url, privateToken) {
    $.ajax({
        'crossDomain': true,
        'url': url,
        'method': 'GET',
        'headers': {
            'PRIVATE-TOKEN': privateToken
        }
    })
    .done(function (response) {

        console.log(response[0].id);  // works correctly

        // ===================================

        var test = response[0].id;    
        console.log(test);            // works correctly

        // ===================================

        return response;              // does not work, `[object object]`` when function is called

        // ===================================

        return response[0].id;        // does not work, `undefined` when function …
Run Code Online (Sandbox Code Playgroud)

ajax jquery return return-value

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