0

我正在使用 jquery ajax 来检索一些数据,但它失败了,下面是代码:

 $.Webpic_Init = function(){
        var type = 'default';
        $.ajax({
            url:SITE_PATH+"services/service.php?m=share&a=uploadwebpic&photo_type="+type,
            type: "POST",
            data:{ name: "John", location: "Boston" },
            cache:false,
            dataType: "json",
            success:function(result){
                alert(result);
            },
            error:function(){
                alert('error');
            }
        });
    }

这会提醒“错误”。但是,如果我将 url 参数更改为 'SITE_PATH+"services/service.php"',则会调度 'success' 事件。那么,如果我不想更改 url 参数,我该怎么办?

4

4 回答 4

0
        var type = 'default';
        $.ajax({
            url: 'services/service.php',
            type: "POST", dataType: "json",
            data: { 'm': 'share', 'a': 'uploadwebpic', 'photo_type': type, 'typename': "John", 'location': "Boston" },
            //contentType: "application/json; charset=utf-8",
            cache: false,           
            success: function (data) {
                alert(result);
            }
        });
于 2012-05-24T06:39:45.350 回答
0

在url/中添加而不是添加SITE_PATH. 这将使 URL 相对于域,即相对于www.your-domain.com/. 如果services在某个子文件夹中,您可以这样做/sub_folder_name/services/your_path_continue

于 2012-05-24T04:40:35.567 回答
0

只是一个建议,尝试使用$.ajaxSetup()来获得正确的错误,如下所示:

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

这将帮助您正确处理 Ajax 错误并获得在进行 ajax 调用时发生的确切错误。

于 2013-01-28T13:36:39.893 回答
0

您正在发出 POST 请求,您的所有字段都应该像您所做的那样位于数据对象中。

data:{ name: "John", location: "Boston" }

你不应该在 url 上放任何东西。那是 GET 请求。

于 2012-05-24T03:54:18.957 回答