繁体   English   中英

在jQuery AJAX中将JSON数据和ID一起发布

[英]Post JSON data along with id in Jquery AJAX

我正在尝试通过Jquery AJAX帖子发布JSON数据以及2个ID。 但是我做不到。

以下是我的代码:

try {
    var surveyID= localStorage.getItem("surveyId");
    var userDetails = jQuery.parseJSON(localStorage.getItem("userdetails"));
    var providerKey = userDetails["ProviderUserKey"];
    var dataValue = { "str": StringJson};
    var url = APP_URL+"EditSurvey?";
    var param = "SurveyId="+surveyID+"&JSONData="+JSON.stringify(dataValue)+"&UserId="+providerKey;

    $.ajax({
        type: "POST",
        contentType: "application/json",
        url: url,
           data: param,
           async:true,
        success: function (data) {

            alert('sucess');


            //}

        },  
        error: function (err) {
            alert("Err : " + err.error);
        },

    });
} catch (error) {
     alert(error);
}

当我在Safari中调试此错误时,出现以下错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

在模拟器中,我得到以下错误:

在此处输入图片说明

我哪里出问题了? 我该如何解决? 我要发布3个参数

  • surveyID
  • JSON数据
  • 用户身份

编辑:

现在更改了Web服务,并将所有3个参数(即2个ID和一个完整的json数据)传递给Web服务。 仍然jquery ajax发布不起作用。 请参阅下面的代码:

 var surveyID= localStorage.getItem("surveyId");
    var userDetails = jQuery.parseJSON(localStorage.getItem("userdetails"));
    var providerKey = userDetails["ProviderUserKey"];
    var dataValue = {"surveyID":surveyID, "userID":providerKey, "str": StringJson};
    alert(dataValue);
    var url = APP_URL+"EditSurvey";
    var param = dataValue;
    $.ajax({
           type: 'POST',
           contentType: "application/json",
           url: url,
           data: dataValue,
           success: function (data) {

           alert('sucess');


           //}

           },
           error: function (err) {
           alert("Err : " + err.text);
           },

           });

编辑为包括stringJson:

var StringJson = JSON.stringify(MainJSON);
 alert(StringJson);

在此处输入图片说明

检查所传递的最终json是否具有服务器期望的确切格式。

尝试给予:

contentType:“ application / json”,接受:“ application / json”

看看是否有帮助。

试试这个

 formData = {
        // all your parameters here
        param1: param1,
        JSONData: formToJSON(),
        UserId: providerKey
    }
    $.ajax({
        type: 'POST',
        contentType: 'application/json',
        url: url,
        dataType: "json",
        data: formData,
        success: function(data) {
            //success handling
        },
        error: function(data) {
            alert("Err : " + err.error);
        }
    });

function formToJSON() {
    return JSON.stringify({
        dataValue: dataValue
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM