【发布时间】:2010-06-30 03:44:57
【问题描述】:
无法让 WCF 服务接受我的 JQuery POST。这是来自 javascript 的 POST:
function jqueryPost() {
var url = "/LoggingTest";
$.post(url, { message: "test message" });
}
这就是我通过接口接受 POST 的方式:
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "/LoggingTest",
BodyStyle = WebMessageBodyStyle.Bare)]
void LoggingTest(string message);
以及实现:
public void LoggingTest(string message)
{
log.Debug(message, null);
}
当我调用函数 jqueryPost 时,我在 Web 检查器中看到 400 Bad Request 的 HTTP 响应。不确定如何使 POST 请求正常工作。
(于 7 月 1 日添加)
@James,这是网络检查器的输出:
http://localhost:4252/LoggingTest HTTP 信息
请求方法:POST
状态码:400 错误请求
请求标头
接受:/
缓存控制:max-age=0
内容类型:application/x-www-form-urlencoded
来源:http://localhost:4252
推荐人:http://localhost:4252/
用户代理:Mozilla/5.0 (Windows; U; Windows NT 5.1; C -) AppleWebKit/532.4 (KHTML, like Gecko) Qt/4.6.2 Safari/532.4
X-Requested-With:XMLHttpRequest
表单数据
消息:测试消息
响应标头
内容长度:1165
内容类型:文本/html
日期:格林威治标准时间 2010 年 7 月 1 日星期四 18:56:15
服务器:Microsoft-HTTPAPI/1.0
【问题讨论】:
-
您可以使用 Fiddler(或类似的东西)并发布完整的请求/响应吗?我想知道它是否发布到了不正确的 url(例如,取决于您是否部署到根目录)
-
James,我已经在上面发布了网络检查器的输出。
标签: c# jquery wcf post httpwebrequest