【发布时间】:2013-07-22 15:52:26
【问题描述】:
我进行了很多搜索,但无法找到有效的解决方案来解释为什么我的发布请求没有将其数据发送到服务器。我可以在没有数据的情况下发送请求,并从服务器获取结果,但我无法将数据发送到服务器。我已将其缩小到“数据”属性,并假设我只是做错了什么。谢谢。
客户
var scriptURL = "default/scripts/serverside/Scripts.aspx";
$.ajax({
type: "POST",
url: baseURL + scriptURL + "/SaveItem",
data: "{}", //works (to return a result)
//data: "{sendData: '" + dataPackage + "'}", //does not work
//data: dataPackage, //does not work
//data: { sendData: dataPackage }, //does not work
//data: { "sendData": dataPackage }, //does not work
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
de("server result:" +result);
}
});
服务器
[WebMethod]
public static string SaveItem(string sendData)
{
string result = "received: " + sendData;
return result;
}
请帮忙,我似乎无法让它工作并且知道它一定是一个语法问题......
我发现了类似的问题(但没有有效的答案):
【问题讨论】:
-
你能打开浏览器的 Javascript 调试器并打开一个带有此编辑的页面吗: $.post('baseURL + scriptURL + "/SaveItem"', { sendData: 'foobar'} );
-
您应该将数据作为字符串传递。 Jquery 将序列化字符串本身。另见:stackoverflow.com/questions/1061884/…
-
@chrisHardie,用引号中的“dataPackage”运行它并检查调试器,它只是说我将 sendData=dataPackage 作为一个大字符串发送...
-
@RMK,我只是尝试将整个内容作为字符串传递,但它不起作用......
-
请不要在您的标题或问题答案的摘要中添加
[solved]- 答案本身服务于后者,而复选标记服务于前者。如果您想在其他回答者提供的内容之外添加更多详细信息,请在详细信息中添加您自己的答案。
标签: javascript ajax jquery post