【发布时间】:2016-06-20 11:39:59
【问题描述】:
我需要使用 AJAX 传递 json 变量。这是我的 ajax 函数:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function emailchkforfrntend()
{
var key='7bc443a2a363b050bc94963baff4b2ac';
var email_id=$("#email_id").val();// email_id->input field id
$.ajax({
url: "targetURL/example.php",
type : "post",
dataType: "jsonp",
data : { "email_id": email_id, "key": key},
success: function(result){
alert('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert('error '+errorThrown);
alert('status '+textStatus);
alert('response text '+XMLHttpRequest.responseText);
},
complete : function(){
alert('in complete');
}
})
.done(function(msg) {
alert('Inside done....'+msg);
if(msg!=0)
{
var obj = jQuery.parseJSON(msg);
//var p_fname=obj.p_fname;
$("#Result_Div").html("<b style='color:blue;'>already existing Member <i class='fa fa-thumbs-o-up'></i></b>");
}
else
{
$("#Result_Div").html("<b style='color:green;'>New Member <i class='fa fa-thumbs-o-up'></i></b>");
}
});
}
HTML 代码:
<input type="text" id='email_id' onkeyup="emailchkforfrntend();">
调用此函数后,每次调用错误函数且控件未调用.done(function(msg){})。此外,我在错误功能的第一次警报中收到Jquery1112016992787341587245_1466413029814 was not called。我将一个虚拟 PHP 脚本传递给 URL,它将记录插入数据库,以检查它是否调用 URL,对该 PHP 的调用正在工作,但它仍在调用错误函数而不是调用成功函数。
我有什么遗漏的吗?为了使用此功能应该做什么?
【问题讨论】:
-
那么你的 php 代码可能有错误!
-
您不能将
POST方法与jsonp 一起使用,因为它的性质:stackoverflow.com/a/4508215/1414562 -
@AminJafari PHP 代码运行良好。即使在调用 javascript 之后,PHP 代码值也会被插入到 DB 中。
-
@A.Wolff 我也尝试过使用 GET 方法,但情况还是一样。
-
是的,但可能在那之后它会抛出错误,如果你也发布你的 php 代码,对问题发表评论会容易得多
标签: javascript php jquery json ajax