遇到jquery.post()和php curl的问题

时间:2010-08-03 01:42:31

标签: php jquery curl

我制作了一个在网页上发表评论的脚本。我使用PHP curl并且它可以工作,但我需要使用AJAX,因此页面不会重新加载。当我使用jQuery .post()时,响应说:

  

方法不允许使用post或get。

这是我的代码:

include("userinfo.php");
if ($_POST['action'] === 'postcomment'){
    $imageid = $_POST['imageid'];
    $user = $_POST['username'];
    $text = $_POST['text'];
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:", "Api-Key: ".$apikey));
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "https://api.myphotodiary.com/users/".$user."/images /".$imageid."/comments.json");
curl_setopt($ch, CURLOPT_POSTFIELDS, array("text" => $text));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
$response = curl_exec($ch);
print_r($response);

这是jQuery:

$("form.imagecommentform").live("submit",function(e){
    $text = $(this).find(".text");
    $username = $(this).find(".username");
    $imageid = $(this).find(".imageid");
    $.post("inc/imagecomment.php",{
        immageid: $imageid.val(),
        username: $username.val(),
        text: $text.val()
        action: "postcomment"
    }, function(html) {
        $(this).find($(".msg")).empty();
        $(this).find($(".msg")).html(html);
    }, "json");
    return false;
});

有谁知道出了什么问题?

1 个答案:

答案 0 :(得分:2)

我已使用$.ajax()代替.post()修复了此问题。