【问题标题】:AJAX call not working(Error 302) MagentoAJAX 调用不工作(错误 302) Magento
【发布时间】:2012-11-19 11:56:52
【问题描述】:

我正在尝试在 Magento 中对 PHP 网络服务进行 AJAX 调用。这是我的 PHP 代码 sn-p。

    <?php 
$callbackUrl = "http://localhost/magento/webservices/NewCustomer1.php";
    //intiate oauth callback URL
    $temporaryCredentialsRequestUrl = "http://localhost/magento/oauth/initiate?oauth_callback=". urlencode($callbackUrl);
    $adminAuthorizationUrl = 'http://localhost/magento/admin/oauth_authorize';
    $accessTokenRequestUrl = 'http://localhost/magento/oauth/token';
    //Magento rest API URL
    $apiUrl = 'http://localhost/magento/api/rest';
    //Consumer key and secret
    $consumerKey = 's3xt7w8lwhfrrfzrfvwm3lrilkf66d5n';
    $consumerSecret = 'vr3eq1x899pz1cf4zzxjzx3q03t66r3n';
    //get customer attributes
    $firstname=$_POST['fname'];
    $lastname=$_POST['lname'];
    $email=$_POST['email'];
.......

这是我的 jquery

 $('#btnSubmit').click(function(){
    console.log("Submit Clicked");
    var fName=$('#firstname').val();
    var lName=$('#lastname').val();
    var email=$('#email_address').val();
    var password=$('#password').val();
    var pass_conf=$('#confirmation').val();
    var dataString = 'fname='+ fName + '&lname=' + lName + '&email=' + email + '&password=' +password+ '&webid=1&groupid=1';
    /*http://localhost/magento/webservices/Newcustomer1.php?fname=siri&lname=s&email=siri@abc.com&password=password123&webid=1&groupid=1*/
    //your validation code
$.ajax({
        url: 'http://localhost/magento/webservices/Newcustomer1.php',
        type: 'POST',
        data: dataString, 
        success: function(data) {
            $('#message').html(data);
        }
    });
});

提交时出现 302 Found 错误。如果我在 URL 本身中传递参数并将 $_REQUEST 更改为 $_GET,它会起作用。

提前致谢。

【问题讨论】:

  • 302 Found 如果请求的 URL 以重定向邀请响应。我的猜测是,当您尝试进行身份验证时会发生这种情况......

标签: php magento rest


【解决方案1】:

嘿,这是你应该做的。

在表单中提供您需要发送 ID 的值:

<form id ="myfrom" >

现在在您的 ajax 调用中执行以下操作,而不是

data: dataString,

data : $('#myform').serialize() ,

让我知道是否可以解决问题。 在 PHP 部分我建议你先做

print_r($_POST);

只是为了让您了解数据是如何传递的。

【讨论】:

  • @Marwan-我还需要传递额外的参数,所以我不能使用序列化。我猜这个问题是 OAuth 身份验证的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-27
  • 2021-03-03
  • 2011-10-20
  • 2022-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多