Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
C# 从本地主机到外部API的HTTP GET请求_C#_Jquery_Asp.net Mvc_Razor - Fatal编程技术网

C# 从本地主机到外部API的HTTP GET请求

C# 从本地主机到外部API的HTTP GET请求,c#,jquery,asp.net-mvc,razor,C#,Jquery,Asp.net Mvc,Razor,我是C#的新手,我正在开发一个Web应用程序。 我按照Microsoft网站上的教程构建Razor页面。现在我想添加我自己的HTML代码,它向GitAPI发出请求并获取数据。我想将这些数据添加到MSSQL数据库中 是否可以将HTTP GET从localhost上的web应用程序发送到GIT API?在VisualStudio中,在哪里包括脚本? 将其包含在index.cshtml或validation.cshtml中似乎不起作用。以下是我想补充的内容: <button id="java"

我是C#的新手,我正在开发一个Web应用程序。 我按照Microsoft网站上的教程构建Razor页面。现在我想添加我自己的HTML代码,它向GitAPI发出请求并获取数据。我想将这些数据添加到MSSQL数据库中

是否可以将HTTP GET从localhost上的web应用程序发送到GIT API?在VisualStudio中,在哪里包括脚本? 将其包含在index.cshtml或validation.cshtml中似乎不起作用。以下是我想补充的内容:

<button id="java" class="btn btn-outline-dark">Java</button>
<button id="ios" class="btn btn-outline-dark">ios</button>
<button id="android" class="btn btn-outline-dark">android</button>
<button id="php" class="btn btn-outline-dark">php</button>
<button id="python" class="btn btn-outline-dark">python</button>
<table></table>
 <script type="text/javascript">
        var table = $('<table>').addClass('table '); 
        $('button').on('click', function() {
        $.ajax({
                headers:{
                          "Content-Type": "application/json",
                          "Accept": "application/json"
                       },
                type: 'GET',
                url: 'https://api.github.com/search/repositories?q=repos+topic:'+ $(this).attr('id') +'&sort=stars&order=desc&per_page=10',
                success: function(data){

                            table.empty();
                            table.append("<thead><tr><th>Avatar</th><th>Name</th><th>Score</th><th>URL</th><th>Updated at</th></tr></thead>");
                            $.each(data.items,function(i,object){
                                        var row = $('<tr>').addClass('table-primary');
                                        row.append('<td><img src='+object.owner.avatar_url+'height=50px width=50px/></td>')
                                        row.append('<td>'+object.name+'</td>'+'<td>'+object.score+'</td>'+'<td>'+object.url+'</td>'+'<td>'+object.updated_at+'</td>');      
                                        table.append(row);

                                    }); 
                                table.append('</table>');
                                $('table').replaceWith(table);
                        }   

  });

});
</script>
Java
网间网操作系统
安卓
php
python
var table=$('').addClass('table');
$('button')。在('click',function()上{
$.ajax({
标题:{
“内容类型”:“应用程序/json”,
“接受”:“应用程序/json”
},
键入:“GET”,
网址:'https://api.github.com/search/repositories?q=repos+主题:'+$(this).attr('id')+'&sort=stars&order=desc&per_page=10',
成功:功能(数据){
table.empty();
表.追加(“AvatarNameScoreURLUpdated at”);
$.each(数据项、函数(i、对象){
变量行=$('').addClass('table-primary');
行。追加(“”)
行.append(“”+object.name+“”+“”+object.score+“”+“”+“”+object.url+“”+“”+“”+object.updated_at+“”);
表.追加(行);
}); 
表.附加(“”);
$('table')。替换为(table);
}   
});
});
在我的项目中哪里添加脚本,如何将得到的响应放入数据库?我在教程中学习了脚手架,如何将我的响应数据链接到生成的数据库方法? 请给我指出正确的学习方向。 谢谢:-)据我所知

  • 最好将脚本包装在窗口加载函数中,如下所示:

    $(函数(){ //您的javascript代码 })

  • 在Asp.net core中,您可以将脚本直接放在layout.cs文件底部或任何视图文件(.cshtml文件)的标记中,但要放在@section Scripts{}块中。确保layout.cs文件中有这一行

    @RenderSection(“脚本”,必填项:false)

最好是将这种逻辑放在服务器中。我不确定客户端应用程序是否可以向github发出跨域请求。我建议您在服务器中发出HTTPGET请求,并将json数据发送回客户端,您的脚本将在客户端启动并更新表

在服务器上,您可以使用向github端点发出GET请求,如果需要,将响应解析为Json,然后将其发送到客户端


在客户机上,您只需调用服务器端点,而不是直接调用github。

出现了什么错误,您是否在浏览器的“网络”选项卡中看到API调用?没有调用API。您是否尝试在浏览器中附加调试器以查看函数是否被调用?我假设您已正确地在页面中包含jQuery,并且您还单击了HTML元素
按钮
Ivisual studio指定的js文件中的java脚本现在可以工作了。为什么在index.html中添加逻辑不起作用?这是我可能犯的错误,还是在使用visual studio时是真的?