3

我正在为捐赠页面编写代码,并希望在不刷新页面的情况下提交 CC 信息,并使用叠加层显示结果。我使用 jQuery 让叠加层正常工作,并使用 php if 语句,我可以回发到我所在的页面并正确获取 CC 事务的 curl 块的变量。但是我从来没有得到任何结果。如果我允许页面 POST/refresh 它工作正常,但似乎 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 的新手,但总体上对编码有所了解。

谢谢。

4

2 回答 2

1

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

否则,您可能需要分析 HTTP 标头以查看从服务器接收到的内容。您可能只是获得重定向尝试将 CURLOPT_FOLLOWLOCATION 设置为 true。

于 2012-10-23T13:43:13.303 回答
0

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

于 2012-11-08T17:55:29.340 回答