<html>
<head>
<meta charset="utf-8"/>
<script src="../JQUERY/jquery-1.11.0.js"></script>
<script>
function getOptions()
{
    var html=new String();

    $.ajax(
    {  
        //url: 'http://server.com/?method=get&search=menu_group_options_with_items&type=group&group_id=6&format=json', 
        url: 'http://server.com',
        data:
        {
            'method': 'get',
            'search': 'menu_group_options_with_items',
            'type': 'group',
            'place_id': '6',
            'format': 'json'
        },
        dataType: 'jsonp',
        async: false,
        success: function (data) 
        { 
            alert("function");
            //var data = JSON.parse(data);
            var h=new String();
            for(var i=0;i<data.length;i++)
            {
                h+='<div class="data">';

                h+=data[i]['group_option'].OptionsID+'<br>';
                h+=data[i]['group_option'].MenuGroupID+'<br>';
                h+=data[i]['group_option'].group_options_name+'<br>';
                h+=data[i]['group_option'].menu_group_option_information+'<br>';
                h+=data[i]['group_option'].menu_group_option_min_selected+'<br>';
                h+=data[i]['group_option'].menu_group_option_max_selected+'<br>';
                h+=data[i]['group_option'].fDateAdded+'<br><br><br>';

                for(var iter = 0; iter < data[i]['group_option']['group_option_items'].length; iter++)
                {

                    h+=data[i]['group_option']['group_option_items'][iter]['item'].OptionItemID+'<br>';
                    h+=data[i]['group_option']['group_option_items'][iter]['item'].menu_item_option_name+'<br>';
                    h+=data[i]['group_option']['group_option_items'][iter]['item'].menu_item_option_additional_cost+'<br>';
                    h+='<br><br><br>';
                }   
                h += '</div>';
            }
            alert("h");
            alert(h);   
            alert("html equals ");
            html=h; 
            alert(html);

        }

    });
    alert("returning html");
    alert(html);
    return html;
}
</script>
<script>
$(document).ready(function()
{
    var str="";
    str=getOptions();
    $('#content').append(str);  
});
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>

当我使用完整的URL运行它时,什么也不会发生。 我不会得到任何信息。 现在,我仅将URL更改为http://server.com ,并将data:{}设置为URL的要求,但我仍然一无所获。 在这一点上,我被困住了,不知道还要去哪里。

我的问题:

  1. 我的代码无法正常工作的原因是什么?

  2. 从网站检索数据我还需要做什么?

===============>>#1 票数:0

jQuery 1.8之后不推荐使用async:false 可以使用旧版jQuery更改代码。

要更改代码,请将此部分移到成功函数中:

$('#content').append(str);  

我希望这有帮助。

谢谢

function getOptions()
{

$.ajax(
{ 
    url: 'http://server.com/',
    data: 
    { 
        'method': 'get',
        'search': 'menu_group_options_with_items',
        'type': 'group',
        'place_id': '6',
        'format': 'json'
    }, 
    dataType: 'jsonp',
    success: function (data) 
    { 
        alert("function");
        //var data = JSON.parse(data);
        var h=new String();
        for(var i=0;i<data.length;i++)
        {
            h+='<div class="data">';

            h+=data[i]['group_option'].OptionsID+'<br>';
            h+=data[i]['group_option'].MenuGroupID+'<br>';
            h+=data[i]['group_option'].group_options_name+'<br>';
            h+=data[i]['group_option'].menu_group_option_information+'<br>';
            h+=data[i]['group_option'].menu_group_option_min_selected+'<br>';
            h+=data[i]['group_option'].menu_group_option_max_selected+'<br>';
            h+=data[i]['group_option'].fDateAdded+'<br><br><br>';

            for(var iter = 0; iter < data[i]['group_option']['group_option_items'].length; iter++)
            {

                h+=data[i]['group_option']['group_option_items'][iter]['item'].OptionItemID+'<br>';
                h+=data[i]['group_option']['group_option_items'][iter]['item'].menu_item_option_name+'<br>';
                h+=data[i]['group_option']['group_option_items'][iter]['item'].menu_item_option_additional_cost+'<br>';
                h+='<br><br><br>';
            }   
            h += '</div>';
        }
        alert("h");
        alert(h);   
        alert("html equals ");
        html=h; 
        alert(html);

        $('#content').append(html);  
    }

});
alert("returning html");
alert(html);}

  ask by Jonathan translate from so

未解决问题?本站智能推荐:

2回复

AJAX URL更新

我肯定有一个简单的解决方案,但是遇到了问题, 我有一个外部ajax.js文件,它具有如下所示的AJAX调用: 在AJAX调用上方,我有两个全局变量,分别称为ticker和url,如下所示: 在我的HTML文件中,我有一个输入框,用户在其中输入股票代码(例如GOOG),然后单
1回复

即使URL POST成功,Ajax POST调用也无法正常工作,返回错误代码0

我正在尝试调用sendgrid api从我网站上的“联系我们”页面向自己发送电子邮件。 我有以下jQuery: (function($){ $(document).ready(function() { $('#submit-form').click(function(e){ e
2回复

jQuery Ajax URL路径问题

我正在尝试为我的网站设计一个消息系统,但是我无法运行我的Ajax。 因此,我对文件之间的交互进行了简化。 这是我的文件test.php和load.php都位于根文件夹(public_html)下。 我在test.php中具有ajax函数。 load.php只是在回声“哇”。
1回复

$ ajax url的Ajax和jQuery调用不起作用

我会尽力解释一下。 我有通过ajax中的URL连接到的REST api。 当我获得该信息时,我想更新其中的内容,以便根据api调用获得的数据来更新内容。
3回复

未知代码错误

我一直在尽最大的努力来理解W3Schools中的课程,但是它不起作用! 我已经对其进行了编辑,以使你们得到更好的结果。 这是index.html页面: <!DOCTYPE html> <html> <body> <h2>
2回复

如何在未知元素中附加ajax响应?

我有几个<div>没有类名。 像这样的东西:( *是我要附加ajax响应的位置) 我唯一的线索是<h1> 。 因为<div>数量不是恒定的(有时我只有1 div )。 换句话说,如何选择包含<h1> div ,然后在该开头添加ajax
1回复

Ajax返回的文本周围的未知引号

假设localhost指向文件夹www ,文件夹struct: 我想在index.html动态加载test.cpp并使用highlight.js渲染。 这是index.html的代码: 但是我得到的是: 注意test.cpp内容周围的引号吗? 我如何摆脱它们?
1回复

提交带有Ajax字段数量未知的HTML表单

我有一个由成对的文本字段组成的表单。 用户可以根据需要创建任意多对,并填写字段。 字段行添加到表的底部。 这是格式的示例: 我遇到的麻烦是使用Ajax将表单正确提交到外部php页面。 这是我现在正在使用的功能: 在其他示例中,我看到它们使用$表示jQuery,并将其放在“
3回复

仅将AJAX复制到网址行

我正在尝试制作一个登录系统。 PHP无法用于将数据发送到服务器,因为我需要在电话应用程序中运行它。 似乎所有AJAX所做的只是在测试时更改了浏览器窗口的URL,而没有任何内容发送到服务器。 下面的代码。 regformhash()仅散列密码。 没有其他的。 HTML: 脚本:
1回复

Ajax中的多个动态URL

我在将最多6个URL导入ajax时遇到了一些困难。 本质上,您采用一个表单,然后在表单输入字段中输入URL。 然后按“加载”。 jQuery [ 参见JS#1 ]将获取所输入的内容并加载Ajax调用。 但是,如果我按下“添加更多”按钮,它将最多添加5个输入字段。 这里的问题是当填写