需要jQuery.load()返回HTML,但服务器端处理程序方法只接受POST方法?
如果这样调用需要jQuery.load()返回HTML,但服务器端处理程序方法只接受POST方法?,jquery,Jquery,如果这样调用load方法,您会怎么做: $('#result').load('/return_result'); 你会得到一个服务器错误,上面写着 Request method 'GET' not supported load()似乎非常适合我想做的事情-从服务器返回HTML并将其放入#result元素。使用post:) 默认情况下加载使用HTTP方法作为GET。看起来url/return\u result不接受GET。如果是您的服务,请确保它支持GET。或者使用jQuery的.ajax()
load
方法,您会怎么做:
$('#result').load('/return_result');
你会得到一个服务器错误,上面写着
Request method 'GET' not supported
load()
似乎非常适合我想做的事情-从服务器返回HTML并将其放入#result
元素。使用post:)
默认情况下加载使用
HTTP
方法作为GET
。看起来url/return\u result
不接受GET
。如果是您的服务,请确保它支持GET
。或者使用jQuery的.ajax()
方法将类型设置为它支持的任何方法。您可以使用$.ajax()
方法,因为您可以控制它将使用的HTTP谓词
$.ajax({
type: "POST",
url: "/return_result",
success: function(msg){
alert( "response: " + msg );
}
});
.load()
方法的参数必须是HTML代码的某种表示形式,无论是div还是整个页面。似乎“/return\u result”
不符合这些要求。如果我错了,并且元素确实包含HTML,请尝试使用jQuery$('#div').empty()
和$('#div').appendTo('destination')
方法。如果您的服务器只支持POST,那么只需添加一个伪数据字符串以进行如下发布
$('#result').load('/return_result', {test: 10});
然后该方法将切换到使用POST方法。但这可能不是最优雅的解决方案。只是好奇而已。。您如何知道/return\u result
使用POST?这是基于不接受get的请求的假设。通常是这样或那样。
$('#result').load('/return_result', {test: 10});