【发布时间】:2010-11-17 16:12:59
【问题描述】:
我想使用 POST 方法将参数发布到 URL,但我不能使用表单。即使我确实使用了表单,它也必须在没有用户交互的情况下自动发布。这可能吗?我该怎么做?
【问题讨论】:
-
这是否与 PHP 相关?
标签: javascript forms post
我想使用 POST 方法将参数发布到 URL,但我不能使用表单。即使我确实使用了表单,它也必须在没有用户交互的情况下自动发布。这可能吗?我该怎么做?
【问题讨论】:
标签: javascript forms post
如果您尝试链接到某个东西,而不是从代码中执行,您可以通过以下方式重定向您的请求:http://getaspost.appspot.com/
【讨论】:
$.post(
"http://theurl.com",
{ key1: "value1", key2: "value2" },
function(data) {
alert("Response: " + data);
}
);
【讨论】:
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;
}
【讨论】:
您可以使用 JavaScript 和 XMLHTTPRequest (AJAX) 在不使用表单的情况下执行 POST。检查this link。请记住,您需要在浏览器中启用 JavaScript。
【讨论】:
如何在不使用 cURL 的情况下直接使用 PHP:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl
【讨论】:
可以使用 CURL 或 AJAX 来完成。响应与答案同样神秘。
【讨论】: