C# Jquery$.ajax()总是在本地主机上请求中止时返回xhr.status
我在本地pc上部署了一个JSON服务,我正在ASP.net/C上工作,IE9中返回的数据是一个有效的JSON响应,经过格式化程序和解析器检查 下面是使用JQuery版本1.7.1进行的JQuery调用,我正在HTML文件中进行 web.config文件代码C# Jquery$.ajax()总是在本地主机上请求中止时返回xhr.status,c#,asp.net,jquery-ui,jquery,C#,Asp.net,Jquery Ui,Jquery,我在本地pc上部署了一个JSON服务,我正在ASP.net/C上工作,IE9中返回的数据是一个有效的JSON响应,经过格式化程序和解析器检查 下面是使用JQuery版本1.7.1进行的JQuery调用,我正在HTML文件中进行 web.config文件代码 <urlMappings> <add url="~/Default.aspx" mappedUrl="~/ServiceHandler.ashx"/> 如果我犯了任何错误,请帮我解决这个问题 我尝试将数据类型用作
<urlMappings>
<add url="~/Default.aspx" mappedUrl="~/ServiceHandler.ashx"/>
如果我犯了任何错误,请帮我解决这个问题
我尝试将数据类型用作“jasonp”和“script”,但没有成功,错误更改为“未知错误未定义”
PS:经过更多的努力,我得到了以下错误:
在我的jquery错误处理程序中添加了如下代码
案例200:
alertxhr.status+:-+thrownError;
打破
它将错误代码返回给我
200:-错误:未调用jQuery171049959372938610613_1356351917595
我认为你必须这样使用它:
success: function (data) {
$.each(data.Table, function(i, resp){
if (resp) {
var htmlText = resp;
var jsonObject = jQuery.parseJSON(htmlText);
console.log(jsonObject);
} else {
$("#footer-bottom").html("Could not load the page.");
}
});
},
您也可以尝试以下方法:
success: function (data) {
$.each(data.Table, function(i, resp){
console.log(resp);
});
},
代表OP发布
通过在不同的服务器上托管服务和客户机来解决问题。请原谅我的无知,但是为什么在ajax调用中使用ServiceHandler.ashx而不是Default.aspx?如果交换它们,您会得到相同的行为吗?您的调用脚本是否在同一域和端口mylocalhostpc:2483上运行?您好,mgibsonbr,我理解您的担心,这两种情况下的行为都是相同的,即ServiceHandler.ashx和Default.aspx。谢谢你的建议。嗨,Salman A,是和否,调用脚本在同一个域上,但不在同一个端口上。我试着用8080端口在本地主机上托管它,但结果是一样的。嗨,Jai,谢谢你的回复,但是如果我检查控制台,请求就会被提前中止。您能建议我如何从JQuery正确调用请求吗?问题是它没有遇到suces:block。只是更新了答案。请您测试并确认控制台的状态。我用数据添加了您的代码。表,但是运气不好,我还尝试修改了一些其他内容,但得到了“200:-错误:JQuery17149959372938610613_1356351917595未被调用”作为更新现在…感谢您的时间和帮助。
public class ServiceHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString["seed"] != null)
{
string searchstring = string.Empty;
Products oProducts = new Products();
context.Response.ContentType = "text/json";
switch (context.Request.QueryString["seed"].ToString())
{
case "pra":
// prODUCT aLL
context.Response.Write(ProcessingRequest.Serialize(oProducts.getAllProducts("0", "")));
break;
case "ptr":
// pRODUCTS tOP rATED
searchstring = context.Request.QueryString["cnt"] == null ? "20" : context.Request.QueryString["cnt"].ToString();
context.Response.Write(ProcessingRequest.Serialize(oProducts.getTopRatedProducts(searchstring)));
break;
default:
context.Response.Write("Invalid service request, please check the url.");
break;
}
context.Response.End();
}
else
{
context.Response.Write("Invalid service request, please provide valid seed.");
context.Response.End();
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
success: function (data) {
$.each(data.Table, function(i, resp){
if (resp) {
var htmlText = resp;
var jsonObject = jQuery.parseJSON(htmlText);
console.log(jsonObject);
} else {
$("#footer-bottom").html("Could not load the page.");
}
});
},
success: function (data) {
$.each(data.Table, function(i, resp){
console.log(resp);
});
},