此代码在桌面浏览器上运行良好,也适用于移动应用程序
function submitSN()
{
var data = [];
var eles1 = document.getElementsByClassName('chip');
for (var i = 0 ; i < eles1.length ; i++)
{
data.push(eles1[i].innerText.substring(0,eles1[i].innerText.length-5));
}
profile.skills = data;
profile.uid = uid;
$.ajax({
url: '/postprof',
type:'POST',
data: profile,
dataType: 'json',
headers: new Headers({ "Content-Type": "application/json" })});
$("body").html("<h1 style='text-align:center;padding:4%;'>Done, Return to your messenger now!</h1>");
}
但是它不会在移动浏览器上发送Ajax调用,我的意思就是
$.ajax({
url: '/postprof',
type:'POST',
data: profile,
dataType: 'json',
headers: new Headers({ "Content-Type": "application/json" })});
此代码适用于普通桌面浏览器,但无法在我的移动浏览器上运行,如何解决此问题?
答案 0 :(得分:1)
您不需要定义任何标头,jQuery ajax的默认设置无论如何都在处理json。
这是一个非常基本的headers
请求,使用jQuery ajax发送一个简单的对象,您不需要定义dataType
,contentType
或headers
。
let custom_object = { name: 'Ahmed', age: 22 } $.ajax({ type: 'POST', url: 'YOUR_URL', data: custom_object, success: function(){ cosnole.log('Done: ', e) }, error: function(e){ console.log('ERROR! ', e); } });
默认值为:
{}
:dataType
Intelligent Guess (xml, json, script, or html)
:contentType
application/x-www-form-urlencoded; charset=UTF-8
:onView(withId(R.id.mainContent)).check(matches(withText("Hello world!")));
答案 1 :(得分:0)
失败的行可能是这样的:
headers: new Headers({ "Content-Type": "application/json" })});
您可能正在测试没有Headers
构造函数的iPhone / iOS / Webkit。
您可以阅读更多相关信息here
答案 2 :(得分:0)
Headers API仅适用于某些浏览器。
试试这个:
contentType: "application/json",
$.ajax({
url: '/postprof',
type:'POST',
data: profile,
dataType: 'json',
contentType: "application/json",
});