我正在尝试通过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个参数编辑:
现在更改了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);
答案 0 :(得分:0)
检查传递的最终json是否具有服务器预期的确切格式。
尝试给予:
contentType:' application / json', 接受:' application / json'
看看它是否有帮助。
答案 1 :(得分:0)
尝试这个
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
});
}