Ajax Post返回“Object XMLHttpReqest”错误

时间:2010-11-30 08:56:41

标签: asp.net jquery ajax

有人可以帮我解决一下我的问题吗?

我有以下代码:

        function InsertNewMeeting(tripID, contact1ID, contact2ID) {
        $.ajax({
            type: "POST",
            url: "RetrieveSites.aspx/InsertNewMeeting",
            data: "{'tripID': '" + tripID + "','contact1ID: '" + contact1ID + "','contact2ID', '" + contact2ID + "'}",
            contentType: "application/json; charset=utf-8", 
            datatype: "json",
            success: function (msg) { alert('ok'); },
            error: function (msg) {alert(msg);}
        });
    }

这是为了调用WebService发布3个整数值。 WebService 100%工作。

但是,当我从网页调用该函数时,我得到的只是一个“Object XMLHttpRequest”错误。

我已经检查了所有传递的参数,它们100%正常。

有什么明显的我遗失或应该做的吗?

2 个答案:

答案 0 :(得分:1)

你的字符串中的单引号到处都是。

您发送的数据将是:

{'tripID': '[tripID]','contact1ID: '[contact1ID]','contact2ID', '[contact2ID]'}

虽然看起来应该是这样的:

{'tripID': '[tripID]','contact1ID': '[contact1ID]','contact2ID': '[contact2ID]'}

答案 1 :(得分:0)

您可以这样做以将适当的json对象发送到服务器:


function InsertNewMeeting(tripID, contact1ID, contact2ID) {
    var data = {'tripID': tripID, 'contact1ID': contact1ID, 'contact2ID': contact2ID};
    $.ajax({
        type: "POST",
        url: "RetrieveSites.aspx/InsertNewMeeting",
        data: JSON.stringify(data),
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        success: function (msg) {
            alert('ok');
        },
        error: function (msg) {
            alert(msg);
        }
    });
}

请注意,您需要JSON2才能在不支持JSON.stringify()的浏览器中获取JSON.stringify()。

另一件事是你需要用双引号括起属性,因为它不是JSON,如果它只是单引号。尝试通过JSONLint运行JSON字符串,看看它是否有效。