我想使用POST方法将参数发布到URL,但我不能使用表单。即使我使用表单,也必须在没有用户交互的情况下自动发布。这可能吗?我怎么能这样做?
答案 0 :(得分:27)
$.post(
"http://theurl.com",
{ key1: "value1", key2: "value2" },
function(data) {
alert("Response: " + data);
}
);
答案 1 :(得分:13)
您可以使用JavaScript和XMLHTTPRequest(AJAX)在不使用表单的情况下执行POST。检查this link。请注意,您的浏览器需要启用JavaScript。
答案 2 :(得分:4)
cURL是一个选项,使用Ajax以及尽管解决前端的后端问题并不是那么整洁。
关于在没有cURL的情况下执行此操作的非常有用的帖子是:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl
执行此操作的代码(未经测试,未经改进,来自博客文章):
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
答案 3 :(得分:3)
如何在不使用直接PHP的cURL的情况下执行此操作:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl
答案 4 :(得分:0)
可以使用CURL或AJAX完成。作为答案,回应同样神秘。
答案 5 :(得分:-1)
如果您尝试链接某些内容,而不是通过代码执行此操作,则可以通过以下方式重定向您的请求:http://getaspost.appspot.com/