ajax的返回的数据给JS全局变量赋值的问题
其实想法很简单,大家请看下面varstr="";$(function(){$.post("xxx.ashx",{"param":"1"},function(data){s...
其实想法很简单,大家请看下面
var str="";
$(function (){
$.post("xxx.ashx",{"param":"1"},function (data){
str+=data;
});
});
//假如是一个button的点击事件
var getStr=function (){
alert(str);
//为什么还是空,怎么解决这个问题?
} 展开
var str="";
$(function (){
$.post("xxx.ashx",{"param":"1"},function (data){
str+=data;
});
});
//假如是一个button的点击事件
var getStr=function (){
alert(str);
//为什么还是空,怎么解决这个问题?
} 展开
2个回答
展开全部
你这个js是可以的,如下的测试能正确弹出"Hello World":
前端页面:
<body>
<input id="Text1" type="text" value="TestText" />
<input id="Button1" type="button" value="button" />
<script language="javascript">
$("#Text1").focus();
var str = "";
$(function ()
{
$.post("Handler1.ashx", { "flag": "test" }, function (data)
{
str = data;
});
});
$("#Button1").click(function ()
{
alert(str);
});
</script>
</body>
被请求页面Handler1.ashx.cs里:
public void ProcessRequest(HttpContext context)
{//确保只要被请求 就能输出值
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
-----------------------------------
估计是你的被请求页面.ashx输不出值,检查下这个页面的代码,比如context.Request.Params参数要求等,以确保一定能输出值。
前端页面:
<body>
<input id="Text1" type="text" value="TestText" />
<input id="Button1" type="button" value="button" />
<script language="javascript">
$("#Text1").focus();
var str = "";
$(function ()
{
$.post("Handler1.ashx", { "flag": "test" }, function (data)
{
str = data;
});
});
$("#Button1").click(function ()
{
alert(str);
});
</script>
</body>
被请求页面Handler1.ashx.cs里:
public void ProcessRequest(HttpContext context)
{//确保只要被请求 就能输出值
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
-----------------------------------
估计是你的被请求页面.ashx输不出值,检查下这个页面的代码,比如context.Request.Params参数要求等,以确保一定能输出值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询