Javascript 向PHP提交JSONP

Javascript 向PHP提交JSONP,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,作为我的应用程序的一部分,我想向返回JSON响应的PHP脚本提交一个JSON对象。该域没有遵循相同的源策略,即JSON是从不同的域提交的,因此在做了一些研究之后,我了解到我需要使用JSONP。在花了10多个小时之后,我想不出任何其他的解决办法。有人能帮我了解我的问题在哪里吗 Javascript代码段: var jsondata={ “variablA”:“valueA”, “变量”:{ “variableB”:“valueB”, “variableC”:“valueC” }; var enc

作为我的应用程序的一部分,我想向返回JSON响应的PHP脚本提交一个JSON对象。该域没有遵循相同的源策略,即JSON是从不同的域提交的,因此在做了一些研究之后,我了解到我需要使用JSONP。在花了10多个小时之后,我想不出任何其他的解决办法。有人能帮我了解我的问题在哪里吗

Javascript代码段:

var jsondata={
“variablA”:“valueA”,
“变量”:{
“variableB”:“valueB”,
“variableC”:“valueC”
};
var encodedjson=JSON.stringify(jsondata);
$.ajax({
url:'update.php',
键入:“POST”,
contentType:'应用程序/json',
数据类型:“jsonp”,
数据:{
“数据”:encodedjson
},
成功:功能(数据){
警报(数据);
},
错误:函数(xhr、ajaxOptions、thrownError){
//如果出错,请执行此操作
$.mobile.loading('隐藏')
如果(xhr.status==200){
警报(ajaxOptions);
}否则{
警报(xhr.状态);
警报(thrownError);
}
}

});
要让Ajax知道它正在处理一个jsonP请求,您需要使用如下回调查询字符串重写url:


url:'update.php?callback=?'

要让Ajax知道它正在处理jsonP请求,您需要使用如下回调查询字符串重写url:


url:'update.php?callback=?'

您读过关于JSON-p的哪些内容?您不能仅仅通过更改jQuery
$.ajax()
中的
数据类型将标准JSON响应转换为JSON-p。服务器端代码需要将JSON封装在函数调用中,而不是使用
{“key”:“val”进行响应
它应该返回
回调({“key”:“val”});
POST和JSONP不能混合使用。而且您的PHP代码没有返回JSONP您读过关于JSON-P的哪些内容?您不能仅仅通过更改jQuery
$.ajax()中的
数据类型将标准JSON响应转换为JSON-P
。服务器端代码需要将JSON封装在函数调用中,即,它应该返回
回调({“key”:“val”});
POST和JSONP不要混合。PHP代码不会返回JSONPjQuery,因为
数据类型:“JSONP”
参数,但服务器端代码仍必须以正确的格式返回响应。jQuery会为您处理这一问题,因为
数据类型为:“jsonp”
参数,但服务器端代码仍必须以正确的格式返回响应。