jquery ajax表单提交问题 - 表单数据已提交但返回错误未成功

时间:2012-05-15 20:28:01

标签: jquery jquery-validate

更新

来自Fiddler 2:

我可以看到发送的数据。它们也出现在其他网站的数据库中。

来自其他域/服务器的响应似乎不正确:

Response sent 38 bytes of Cookie data:
Set-Cookie: ARPT=YOLMQLS172.25.102.96CKMYK; path=/

This response did not contain a P3P Header.

即使标题响应不正确,继续执行此操作是否安全?

我使用jquery validate plugin验证我的表单,然后使用jquery ajax将表单数据发布到外部网站(Marketo潜在客户生成平台)。

表单数据已成功提交到外部站点(Marketo)。我通过登录他们的网站验证了这一点,我可以看到我提交的测试表格帖子以及所有现场数据。

然而,我收到错误,而不是来自ajax调用的成功回复

这是代码 - 任何想法?

$(feedbackForm).validate(
{
    validClass: "success",
    rules: 
    {
        FirstName: { required: true },
        LastName:  { required: true },
        Email:
        {
            required: true,
            email: true                                 
        },
        Question__c: { required: true }
    },
    messages:
    {
        FirstName: "Please enter your first name",
        LastName: "Please enter your last name",
        Email: "Please enter a valid email address",
        Question__c: "Please enter your message"
    },       
    submitHandler: function(form) 
    {            
        $.ajax(
        {
            type:"POST", 
            url: "http://app-k.marketo.com/index.php/leadCapture/save",                
            data: feedbackForm.serialize(),
            success: function(response)
            {
                feedbackForm.find('.form_result').html(response.statusText);
                alert('success');
            },
            error: function(response)
            {
                feedbackForm.find('.form_result').html(response.statusText);                       
                alert("error");
            }
        });  
        return false;          
    }

1 个答案:

答案 0 :(得分:0)

您似乎正在向不在您自己的域中的网址发出ajax请求,由于跨域访问限制,该网址通常受到限制。

如果它实际上不在您的域中,则需要通过服务器端语言向该服务器发出请求。 ajax调用将是代码,而代码又会进行其他调用。

但是,如果他们允许从外部域公开访问该URL,那么我所说的就是无关紧要。