响应正常,但 $.ajax 上的成功方法未触发?
$("#btnSubmit").click(function () {
var fields = $("#testform").serializeObject();
var response = "Nista";
JSONstring = JSON.stringify(fields);
alert(JSONstring);
$.ajax({
type: "GET",
url: "http://localhost/testSimple.php?symbol=IBM&jsonpCallback=?",
// url: "http://localhost/testSimple.php?json=" + JSONstring,
dataType: "jsonp",
success: function (msg) {
alert("SUCCESS");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
在 html:
<div id="dynamicContent" class="dynamicContent">
<form id="testform" method="post">
<div class="fm-req">
<h2>
The Form:</h2>
</div>
<!--<input type="text" name="message" id="Text1" name="Fieldname22" />-->
</form>
<div class="fm-add">
<input id="btnSubmit" type="button" value="Submit" />
</div>
</div>
和 firebug 中的 php 脚本
<?php
$person = array(
'name' => 'Quentin',
'country' => 'Australia'
);
header('Content-type: application/json');
echo json_encode($person);
?>
中都可以,但成功但没有捕获响应.. 为什么?
$("#btnSubmit").click(function () {
var fields = $("#testform").serializeObject();
var response = "Nista";
JSONstring = JSON.stringify(fields);
alert(JSONstring);
$.ajax({
type: "GET",
url: "http://localhost/testSimple.php?symbol=IBM&jsonpCallback=?",
// url: "http://localhost/testSimple.php?json=" + JSONstring,
dataType: "jsonp",
success: function (msg) {
alert("SUCCESS");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
in html:
<div id="dynamicContent" class="dynamicContent">
<form id="testform" method="post">
<div class="fm-req">
<h2>
The Form:</h2>
</div>
<!--<input type="text" name="message" id="Text1" name="Fieldname22" />-->
</form>
<div class="fm-add">
<input id="btnSubmit" type="button" value="Submit" />
</div>
</div>
and php script
<?php
$person = array(
'name' => 'Quentin',
'country' => 'Australia'
);
header('Content-type: application/json');
echo json_encode($person);
?>
in firebug is all right but succes not catches response..
WHY?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试将您的 PHP 脚本更改为:
更新评论中的问题:
您的 JavaScript 应该如下所示:
Try changing your PHP script to this:
Update for your question in the comments:
Your JavaScript should be like this:
请记住
jsonp
在本地主机上不起作用!但是:
你必须将这些行添加到你的 php 代码中;
在 localhost 模式下将您的 dataType 更改为此:
并在您的 ajax 请求上执行以下操作来测试结果:
remember that
jsonp
doesn't work on localhost!but:
you have to add these line to your php code;
change your dataType to this in localhost mode:
and for testing the result do this on your ajax request:
您需要将数据类型更改为 json
如果您想使用回调,请这样做这里
我找到了一篇关于 jsonp 的好文章
http://remysharp.com/2007/10/08/what-is- jsonp/
You need to change datatype to json
If you want to use callback do it like this
Here i found a good article on jsonp
http://remysharp.com/2007/10/08/what-is-jsonp/