日期:2014-05-17  浏览次数:20421 次

各位前辈救命呀弄了一天了还是出问题
我用Jquery的getJson()加上.ashx文件读取数据,在自己电脑的IIS上运行一切正常,但是放到虚拟空间上之后就不能读出数据,用开发者工具查看,凡是与ajax有关的ashx文件都找不到又或是无法加载资源,开始以为是路径问题,后来调整自己电脑上运行正常,放到空间又不行仍然无法加载,以为是ashx的问题于是就换成aspx文件还是找不到,真邪门了,是不是jquery的getjOSN()方法有bug,麻烦各位前辈帮看一下,我要虚脱了,挥泪谢谢了!
Jquery代码(版本1.7.2)
JScript code

$(document).ready(function () {
    GetSj();
})
function GetSj(data) {
    $.getJSON("../ApplicationProcessing/ShowAllCommodity.aspx", data, function (data) {
        $.each(data, function (key, val) {
            var sTp = "<td><img alt='' src='../Picture/Commodity/" + val.CPath + "' style='width:60px;height:107px;' /></td>";
            var sName = "<td><span style='color:#10c3f0;'><strong>" + val.Bname + "</strong></span><br/>" + WenZi(val.Cname); +"</td>";
            var sSpecification = "<td>" + val.CSpecification + "</td>";
            var sInventory = "<td>" + kucun(val.CInventory) + "</td>";
            var dRetail = "<td>" + GSH(val.CRetail) + "</td>";
            var dPrice = "<td>" + GSH(val.CPrice) + "</td>";
            var dNo = "<td ><input id='Text1' type='text' style='width:60px;' value='0' />件</td>"
            var cz = "<td><a href='#'>订购</a>&nbsp;<a href='#'>收藏</a></td>";
            $("<tr style='height:125px;'>" + sTp + sName + sSpecification + dRetail + dPrice + sInventory + dNo + cz + "</tr>").appendTo("#ShowSj");
        });
    });
}


C#后台代码
C# code

public partial class ApplicationProcessing_Home : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
             Response.ContentType = "text/plain";
             TBL_BrandManager brandManager = new TBL_BrandManager();
             Response.Write(brandManager.ShowBrand());
        }
    }
}
//实体类转换json数据
    public class JsonHeleper
    {
        public string ObhestToJson<T>(T instance)
        {
            string result = string.Empty;
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
            MemoryStream ms = new MemoryStream();
            json.WriteObject(ms, instance);
            ms.Position = 0;
            StreamReader sr = new StreamReader(ms);
            result = sr.ReadToEnd();
            return result;
        }
    }
}




------解决方案--------------------
Response.ContentType = "text/plain";
TBL_BrandManager brandManager = new TBL_BrandManager();
Response.Write(brandManager.ShowBrand());

改成
Response.Clear();
Response.ContentType = "application/json";
TBL_BrandManager brandManager = new TBL_BrandManager();
Response.Write(brandManager.ShowBrand());
Response.End();

另外确保你返回的是真正的json格式
------解决方案--------------------
无法加载是什么意思?404错误?那就是url写错了

$.getJSON("<%=Page.ResolveUrl("~")%>ApplicationProcessing/ShowAllCommodity.aspx?nocache="+(new Date()).valueOf(), data, function (data)