Jquery ajax jsonp请求-无响应

Jquery ajax jsonp请求-无响应,jquery,ajax,jsonp,Jquery,Ajax,Jsonp,首先,我喜欢这个资源——已经使用它并学习了几年了。这是我的第一篇帖子,因为我真的被卡住了。我正在通过ajax/jsonp提交表单。如果我在本地运行这个脚本,我会从域中得到一个带有成功代码的响应。如果我只是在浏览器中运行请求,它会返回带有成功代码的响应。但是,当我提交表单时,Firebug会给我一个红色的200 OK,服务器没有响应。Safari给我一个加载资源失败的消息:已取消。找不到关于错误的太多文档,所以我暂停了。我知道这可能是非常恶心的u专业人士阅读,但这是我的第一篇文章,所以任何指导是感

首先,我喜欢这个资源——已经使用它并学习了几年了。这是我的第一篇帖子,因为我真的被卡住了。我正在通过ajax/jsonp提交表单。如果我在本地运行这个脚本,我会从域中得到一个带有成功代码的响应。如果我只是在浏览器中运行请求,它会返回带有成功代码的响应。但是,当我提交表单时,Firebug会给我一个红色的200 OK,服务器没有响应。Safari给我一个加载资源失败的消息:已取消。找不到关于错误的太多文档,所以我暂停了。我知道这可能是非常恶心的u专业人士阅读,但这是我的第一篇文章,所以任何指导是感激的!在线上有两个例子:一个是带有reCaptcha的版本。如果添加验证码影响了我的代码,则没有重新验证码。如果我只是需要一记耳光,也让我知道。谢谢大家!

$.ajax({
        url: 'http://myURLonaDifferentDomain',
        data:jQuery(frm).serialize(),
        type: 'POST',
        dataType: 'jsonp',
        jsonp: 'jsonp',
        crossDomain: true,
        error: function (xmlHttpRequest, textStatus, errorThrown) {
                    if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0) 
          return;  // it's not really an error
     else
                alert(xmlHttpRequest + ': ' + textStatus + ': ' + errorThrown);
                    },
        success: function(jsonp) { 
            // Response handling code goes here
            console.log(json.response.responseCode + ': ' + json.response.response + ': ' + json.response.responseDescription);

            if (json.response.responseCode == 10527) { 
            document.getElementById('errorScreen').style.display='block';
            $('#errorMsg').append('There was an error with your credit card transaction please go back and re-check your ');

            } 
                    if (json.response.responseDescription == "Registration was successful") {

            window.location.replace("http://www.url.com/thankyou.php");             
            } 

        }
                        });


}

哈哈哈。跨域脚本。这是个大问题。了解解决方案


编辑我重新阅读了这个问题,注意到您已经准备好了跨域的AJAX(尽管它通常会自己注意到);几乎可以肯定的是,您没有准备好远程Web服务器。使用Firebug,打开Net选项卡,查看特征CORS头的响应头。

我有一个类似的问题,解决方案是JSONP响应必须包装在回调函数中。回答:

我认为jsonP是解决跨域问题的一种解决方案?这就是Firebug为响应头显示的内容。我遗漏了什么吗?日期Sun,2011年8月21日07:15:50 GMT服务器Apache/2.2.8(CentOS)内容语言en-US内容长度128连接关闭内容类型应用程序/x-javascript;charset=UTF-8Yup,没有CORS头(看起来像
访问控制允许源站
)。您可以查看请求是否看起来像JSOP请求(GET like
jsonp=xyz
)中会有一个参数,以及响应是否正确(它将以xyz(…)开头)