Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要jQuery.load()返回HTML,但服务器端处理程序方法只接受POST方法?_Jquery - Fatal编程技术网

需要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});