我是这个网站和Visual Studio的新手,但我正在尝试创建一个页面,一旦页面加载就会从服务器中获取一个字符串,并且还会有一个按钮,如果按下该按钮将请求另一个字符串从服务器。我有一个控制器和一个视图。我关注本网站的建议: http://www.itorian.com/2013/02/jquery-ajax-get-and-post-calls-to.html
所以在我的“关于”视图中我有:
<!DOCTYPE html>
<html>
<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript">
var url = "/HomeController/getData";
$.get(url,null, function (data) {
$("#rData").html(data);
});
$('#btn').click(function () {
var url = "/HomeController/getMoreData";
$.get(url, null, function (data) {
$("#rData").html(data);
});
})
</script>
</body>
</html>
这是我的控制器:
public ActionResult About()
{
return View();
}
public String getData() {
return DateTime.Today.ToString();
}
public String getMoreData()
{
return "hi";
}
然而,当我在浏览器中查看页面时,脚本标签内的功能不会被执行(我只看到原始的HTML布局)。
你碰巧知道为什么会这样吗?
提前谢谢!
严
答案 0 :(得分:0)
您缺少客户端代码中的jQuery脚本引用。添加后,您可以使用$ .get方法。在脚本标记之前添加以下内容。
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js">
</script>
您也不需要指定HomeController,只需指定Home。这是一个示例:
<button id="test" onclick="btnClicked();">Try it</button>
<script type="text/javascript">
function btnClicked(){
$.get( "Home/ClickThis", function( data ) {
alert( data );
});
}
</script>
在Home控制器中,添加一个方法:
public string ClickThis()
{
return DateTime.Now.ToString("D");
}
答案 1 :(得分:0)
df = pd.DataFrame({0:['a',1,2,3,'a',1,2,3],1:[10,20,30,40,50,60,70,80]})
unstacked = {}
for index, row in df.iterrows():
if row.iloc[0] not in unstacked:
unstacked[ row.iloc[0] ] = list(row[1::])
else:
unstacked[ row.iloc[0] ] += list(row[1::])
unstacked_df = pd.DataFrame.from_dict( unstacked, orient='index' )
print unstacked_df
0 1
a 10 50
1 20 60
2 30 70
3 40 80
答案 2 :(得分:0)
我拿了你的代码并纠正了错误。现在它的工作
原始代码:
<!DOCTYPE html>
<html>
<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>
<script type="text/javascript">
var url = "/HomeController/getData";
$.get(url,null, function (data) {
$("#rData").html(data);
});
$('#btn').click(function () {
var url = "/HomeController/getMoreData";
$.get(url, null, function (data) {
$("#rData").html(data);
});
})
</script>
</body>
</html>
更正后的代码:
<html>
<body>
<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var url = "/Home/getData";
$.get(url, null, function (data) {
$("#rData").html(data);
});
$('#btn').click(function () {
var url = "/Home/getMoreData";
$.get(url, null, function (data) {
$("#rData").html(data);
});
})
});
</script>
</body>
</html>
重要亮点:
我纠正的非常重要的是,你已经把var url =“/ HomeController / getData”;这不是必要的,它不会工作。您必须单独提供控制器名称,即var url =“/ Home / getData”;
另一件事是,上面代码中缺少body标记和脚本引用的开头。
现在一切都得到了纠正,它正在发挥作用
其他信息:
我添加了为了您的方便在github中单独使用cshtml,您可以使用它。如果您需要。这是链接:https://github.com/KarthikElumalai/jqueryproj
希望信息有用,请让我知道您的想法或反馈
由于 KARTHIK