PHP / Curl / Wordpress在没有刷新页面的情况下发布数据,卷曲不起作用

时间:2012-10-18 17:02:28

标签: php ajax wordpress jquery curl

我正在为捐赠页面编写代码,并希望在不刷新页面的情况下提交CC信息,并使用叠加显示结果。我使用jQuery正确地使用了叠加层,并使用php if语句,我可以回发到我所在的页面并正确获取CC事务的curl块的变量。但是我从来没有得到任何结果。如果我允许页面POST /刷新它工作正常,但似乎Wordpress不允许我从不直接在环境中运行的页面运行curl。

有什么建议吗?

jQuery.post('sameurl', jQuery("#donateform").serialize(), function(data) {
  jQuery('#overlay_msg').html(data);

        $ch = curl_init ();

        curl_setopt ($ch, CURLOPT_URL,$hoststring);
        curl_setopt ($ch, CURLOPT_POST, 1); 
        curl_setopt ($ch, CURLOPT_POSTFIELDS, $xml); # the string we built above
        curl_setopt ($ch, CURLOPT_SSLCERT, $cert);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt ($ch, CURLOPT_VERBOSE, 1);

        $result = curl_exec ($ch);

我对$ xml字符串进行了硬编码以及尝试使其工作。我是php / curl / ajax的新手,但对一般的编码知之甚少。

感谢。

2 个答案:

答案 0 :(得分:1)

从我可以看到你的代码没有调用任何wordpress函数,所以没有依赖。听起来cURL调用未成功完成,您需要调试它。确保php错误报告已打开并在php.ini中设置为E_All,同时将curl选项FAILONERROR设置为true并确保使用curl错误函数捕获任何错误。

如果失败了,您可能需要分析HTTP标头以查看从服务器收到的内容。您可能只是尝试重定向尝试将CURLOPT_FOLLOWLOCATION设置为true。

答案 1 :(得分:0)

嗯,事实证明这是一个目录问题。 Wordpress将您设置为网站根目录,而常规html具有相对于文件位置的目录。所以我无法获得我的证书。