我正在使用jquery-1.5.2.js开发一个Web应用程序。我尝试上传的服务器是JSON格式的。我试图上传四个变量到服务器,但我收到一个错误。我的代码如下:
- 使用以下建议更新了代码,但仍无效:
image= JSON.stringify(imageEncode, replacer);
name = JSON.stringify(name, replacer);
id = JSON.stringify(id, replacer);
comments = JSON.stringify(comments, replacer);
function data_post(){
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: "example/new.json",
data: "{'image': '" + image + "', 'name': '" + name + "', 'id': '" + id + "', 'comments': '" + comments + "'}",
success: function () {
alert('Successfully uploaded');
},
error: function () {
alert('Error on upload');
}
});}
为什么我仍然收到“上传错误”消息?
答案 0 :(得分:0)
可能存在服务器错误但我可以从thiscode建议一个问题,确保您的数据是字符串化的。 base64EncodeImage
是一个嫌疑人,但也要检查其他人。您需要发送有效的JSON。你在服务器上收到任何东西吗?
答案 1 :(得分:0)
检查“数据”json。您提供的代码可以使用,如果您将使用此代码:
data: "{'image': '" + base64EncodeImage + "','name': '" + photoName "',...
答案 2 :(得分:0)
您收到的错误是“未找到”。这意味着您没有在服务器上设置example/new.json
的处理程序。您需要配置服务器软件以了解如何处理example/new.json
等URL,您还应该考虑使用url
选项的绝对路径,这样您就不必关心您所处的位置运行JavaScript时,像/example/new.json
这样的东西可以更好地为您服务。
此外,$.ajax
的data
选项可以是一个简单的对象:
$.ajax({
data: { image: image_data, comments: comments, //...
//...
});
没有必要自己对JSON进行编码,让jQuery处理它。