【问题标题】:JSONP json callback method not called : parsererror未调用 JSONP json 回调方法:parsererror
【发布时间】:2013-10-26 10:27:14
【问题描述】:

我有以下使用 jsonp 的 ajax 函数:

    function PopulateDivisions1()
{
    $.support.cors=true;


    $.ajax({
        type:'GET',
        url:'http://IP/Service/api/DivisionSearch/GetAllDivisions?callback=?',
        dataType: "jsonp",
        //jsonp: false,
        jsonpCallback: "myJsonMethod",

        success: function(data) {

                alert('yes');

                $("#divisionSelect").append($('<option></option>').val("-99").html("Select One"));
            $.each(data, function(i, item){
                $("#divisionSelect").append($('<option></option>').val(item.Name).html(item.Name));
            });
        },
        error: function(xhrequest, ErrorText, thrownError) {
            alert("Original: " + thrownError + " : " + ErrorText);
        }
    });


}

我收到以下错误: myJsonMethod 未被调用:解析器错误

如果我查看 Fiddler,我得到了以下数据,我在前面添加了回调名称,正如我所看到的那样,如果我把它拿出来它仍然不起作用。

    "myJsonMethod([{\"Id\":1,\"Description\":\"Executive\",\"Name\":\"Executive \"},{\"Id\":2,\"Description\":\"ASD\",\"Name\":\"Administrative Services Division \"},{\"Id\":3,\"Description\":\"COM\",\"Name\":\"Communications \"},{\"Id\":4,\"Description\":\"CP\",\"Name\":\"Contracts and Procurement \"},{\"Id\":5,\"Description\":\"PMD\",\"Name\":\"Program Management Division \"},{\"Id\":6,\"Description\":\"RED\",\"Name\":\"Research and Evaluation Division \"},{\"Id\":7,\"Description\":\"IT\",\"Name\":\"Information Technology \"}])"

这是我的控制器中的方法:

     public string GetAllDivisions(string callback)
    {
        var divisions = _DivisionModel.GetAllDivisions();

        var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

        string json = serializer.Serialize(divisions);

        string result = callback + "(" + json + ");";

        return result; 
    }

我没有接到我的成功电话,我错过了什么或做错了什么?

【问题讨论】:

    标签: ajax json jsonp


    【解决方案1】:

    您不必指定成功回调,因为 jsonp 回调将自动发生,因为服务器端代码将在 jsonp 的情况下返回 javascript。

    请参阅以下答案以获取工作示例。

    Using jquery jsonp returns error callback function was not called

    【讨论】:

      猜你喜欢
      • 2013-06-17
      • 2011-03-01
      • 2014-12-31
      • 2020-02-22
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      相关资源
      最近更新 更多