Http客户端无法从Web服务器获取json数据

时间:2014-09-12 17:07:55

标签: c# json api windows-phone-8 asynchttpclient

       private async void get()
       {
            string URL ="http://8tracks.com/mix_sets/all.json?include=mixes?api_key=05570e44383665661d8edeeb5d4f07d415e14b4a";
            HttpClient c = new HttpClient();
            String response = await c.GetStringAsync(URL);
            textbook.Text = response;

你好,甚至一个......我一直试图使用上面的代码从Web服务器提取数据,但我无法让它工作。我是新手,我尝试过其他类似的模式,但它也不会工作。有人可以写一个代码,可以告诉我它是如何完成的吗? bob tabor使用了这个模式,我在上面为他的应用程序教程提供了它并且它可以工作

1 个答案:

答案 0 :(得分:0)

你认为我和你开玩笑吗:)检查下面的证据我没有照片吗:) 。enter image description here

For ThugSoldier: - 嘿,我收到了你的Code zip文件。你知道我从你的代码中得到的是你真的不了解移动开发。所以我对你的建议是 - 在你自己尝试任何事情之前,首先快速浏览一下资源/主题,你会大致了解你正在阅读的内容。不要以错误的方式接受我只是想通过各种方式帮助你。我也面对这一切。

如果您之前已经输入了整个代码,那么您只需提出一条评论:)

我从你那里得到的代码邮寄了zip文件。

// Xaml Code

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel RenderTransformOrigin="0.5,0.5" Margin="-191,-181,191,181">
        <StackPanel.RenderTransform>
            <CompositeTransform TranslateX="300" TranslateY="200"/>
        </StackPanel.RenderTransform>
        <TextBlock Name="xt" FontSize="25" Text=""/>
    </StackPanel>
</Grid>

// MainPage .cs 代码。

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    private async void web()
    {
        String url = "http://8tracks.com/mix_sets/all.json?include=mixesapi_key=05570e44383665661d8edeeb5d4f07d415e14b4a";
        HttpClient client = new HttpClient();
        string result = await client.GetStringAsync(url);
        xt.Text = result;
    }
}

问题: -

In the above Code actually you have not called the web() Method from anywhere - means you have to invoke web() method. By using Some Button Click Event.

解决方案: -

我在Xaml中创建了Button并为其添加了一个ClickEvent。可以在MainPage .cs后端类中找到。当你点击按钮时,接下来会发生什么,你的事件将被调用,因此你的web()方法。这将获得您的数据。

完整代码: -

Xaml : -

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel RenderTransformOrigin="0.5,0.5" Margin="-191,-181,191,181">
        <StackPanel.RenderTransform>
            <CompositeTransform TranslateX="300" TranslateY="200"/>
        </StackPanel.RenderTransform>
        <TextBlock Name="xt" FontSize="25" Text=""/>

        <Button Content="ClickMe" Click="ButtonBase_OnClick"></Button>

    </StackPanel>
</Grid>

MainPage.cs代码: -

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    private async void web()
    {
        String url = "http://8tracks.com/mix_sets/all.json?include=mixesapi_key=05570e44383665661d8edeeb5d4f07d415e14b4a";
        HttpClient client = new HttpClient();
        string result = await client.GetStringAsync(url);
        xt.Text = result;
    }

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        web();
    }
}

现在你已经完成了: - 运行app =&gt;点击按钮=&gt;在TextBox中享受结果。

建议: - 下载一些Windows手机应用程序的基本示例,在本地运行它们。看那里的代码。

请联系我以获取任何未来的帮助/指导:)干杯:D