你的响应有问题吧。。返回的是一个字符串了jsonp不应该返回的是字符串,是一段可执行的js代码

解决方案 »

  1.   

    返回的是callback函数啊,有错吗?
      

  2.   

    传的参数是server端生成的json对象
      

  3.   

    你插图2显示,你的 json 的格式是错误的
    为什么引号都被转义了?
      

  4.   

    返回的是字符串格式,最外面是“”,json的name要有双引号,必须是转义的\"啊,要不怎么改json的name加上 “”那?
      

  5.   


    都说你返回的内容有问题了,jsonp返回可以执行的js脚本,不是字符串把你最外层的双引号去掉,内层的双引号不要转义
    就是函数名(返回的json书之举)
      

  6.   

    这是jsonp请求的服务端,我应该如何返回那?
      

  7.   

    后台返回的那个回调方法名 应该和jsonp:"callbackFn" 一样
    也就是 callbackFn(参数)
      

  8.   

    写作
    return callback + '({"Adderss":"' + backUrl + '"})';
    看看是谁调用了该方法?
    他又做了转义处理吧?
      

  9.   

    return callback + "({'Address':'" + backUrl + "'})";
    这种方式,也是不行,客户端还是调用不了sucess,本例子是,ajax直接调用ValidateUserAndCache,没有其他转换,
      

  10.   

    方法返回值改为void,用Response.Write输出  return返回的值
      

  11.   

    不知道你的服务端是什么语言
    总之你返回形如 xxxxx({"name":"value","name":"value"}) 这样的串就对了
      

  12.   

    C# 没有产生 json 串的方法吗?自己写一个应该也不太难吧?既然是 C# 那么
    return callback + '({"Adderss":"' + backUrl + '"})';
    是不对了,这样应该就可以了
    return callback + “({" + ‘“’ + ”Adderss“ + ‘”’ + ‘:’ + backUrl + ‘”’ + “})”;
      

  13.   

    HttpContext.Current.Response.Output.Write(callback + "({\"Address\":\"" + backUrl + "\"})");
    或者
    HttpContext.Current.Response.Write(callback + "({\"Address\":\"" + backUrl + "\"})");
    后页面ff接收不到响应,下面是ff响应,
      

  14.   

    #19 按照你的方法,
    return callback + "({" + '"' + "Adderss" + '"' + ':' + backUrl + '"' + "})";
    后,客户端的返回是,和这种方式是一样的,
    return callback + "({\"Address\":\"" + backUrl + "\"})";
      

  15.   

    还是会触发error函数,4--------parsererror-------Error: jQuery17105803503028058931_1402282379191 was not called
      

  16.   

    你的是ws吧。。我这里测试没问题。。你直接用浏览器访问ajax请求的地址看能得到正确的输出没有
    HttpContext.Current.Response.Write(callback + "({\"Address\":\"" + backUrl + "\"})");
    HttpContext.Current.Response.End();//加这个试试
      

  17.   

    谢谢#23,问题已经解决,是
     HttpContext.Current.Response.Output.Write(callback + "({\"Address\":\"" + backUrl + "\"})");
     HttpContext.Current.Response.End();//没有此句是不行的,