1

我正在尝试调用放置在本地系统中的 Web 服务。面临 jQuery 17104403 的错误警报 ..... 未被调用。我正在使用以下代码:`

jQuery.support.cords = true;
    jQuery.ajax
    ({
        type:"GET",
        url:"http://(localhost)/leave/src/login.php?data={%22username%22:%22"+username+"%22,%22password%22:%22"+password+"%22}",    
        dataType:"jsonp",
        success : function(data)
        {   
                alert(data.username);
            alert(data.password);
        },
        error:function(xhr, textStatus, error) 
        {
            alert("Error: " + error);
        }
    }); 

`

此 Web 服务正在从远程计算机调用数据。如果有任何帮助,我将不胜感激

4

1 回答 1

1

jsonp!= json。

本机 jquery ajax jsonp 实现添加了一个callback参数。您可以通过设置 ajax 属性来覆盖此参数的名称,并通过设置jsonpajax 属性来覆盖此参数的值jsonpCallback

如果您提供自己的回调名称,则必须可以从全局范围访问它。

当然:服务器端,您将不得不使用 jsonp 回调名称将生成的 json 内容与给定函数的调用包围起来。

编辑

承认您的 json 响应是{}并且给出了回调参数,?callback=jQuery1234567890然后您的服务器应该回答jQuery1234567890({})

于 2013-04-29T20:17:35.443 回答