使用ajax发送数据,返回json
Send data with ajax, return json
我想发送一个字符串并返回json。
这是有效的,但它不会返回json代码
$.ajax({
url: "getFeed.php",
type: "post",
data: myString
});
当我希望它返回一个json字符串时,它会给我一个错误。
$.ajax({
url: 'getFeed.php',
type: "post",
data: {string1: "testdata", string2: "testdata"},
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
});
由于某些原因,服务器没有接收到任何数据。
我该怎么写?(我想发送2个字符串)
JSONP不允许使用POST
方法,因为它实际上只是一个脚本请求。
由于使用的路径是相对的(同域),我建议您使用json
数据类型,因为jsonp
用于跨域请求。
好的,首先您的ajax语法似乎不正确。
假设您想要发送两个字符串stringA
和stringB
。您的php文件是getFeed.php
。
您的ajax看起来是这样的:
$.ajax({
type : "POST",
url : "getFeed.php",
data : {firstVar:stringA,secondVar:stringB},
dataType: "json",
success : function(data){
// Here you receive the JSON decoded.
var mesage = data.msg;
}
});
在getFeed.php
中,您会收到这样的字符串:
$firstString = $_POST['firstVar'];
$secondString = $_POST['secondVar'];
当您将JSON对象从getFeed.php
返回到ajax时,您将这样做:
$myArray = array("msg"=>"Hello World", "another"=>"thing");
echo json_encode($myArray);
因此,让我们回到ajax函数,成功的部分是,您会收到一个参数data
,如果您想访问"msg"answers"other",您会希望这样:
success : function(data){
var first = data.msg;
var second = data.another;
}
EDIT:键实际上不需要用引号括起来。我错了。然而,这似乎仍然是避免未来潜在问题的最佳做法。
$.ajax({
"url": "getFeed.php",
"type": "post",
"data": {"string1": "testdata", "string2": "testdata"},
"dataType": "jsonp",
"jsonp": "jsoncallback",
"timeout": 5000,
});
相关文章:
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 返回JSON中的下标
- jQuery Map 从多个源返回 JSON 对象
- 如何在 Node.js 中返回 JSON 后停止代码流
- AngularJS:表单提交没有返回JSON中的值
- 使用ajax发送数据,返回json
- 从我的解析函数返回json
- 如何从脚本页面返回json数据
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 如何在html页面中从ajax返回json数据
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- ajax调用返回JSON ParseError即使认为JSON看起来是正确的
- 调用.ajax方法得到未定义的json结果,返回json格式列表<字符串>
- 如何通过C#返回JSON并用JavaScript进行解析
- 使用 AJAX 返回 json 数组
- 从 AJAX 命令返回 JSON 格式的响应
- 如何通过node中的请求返回JSON.js(从javascript)
- Node.js API 在终端中返回 JSON,但不在浏览器中返回 JSON
- 如何在支柱 2 中返回 JSON 数组
- Rhino:从 Java 中返回 JSON